langgraph-api 0.4.44__tar.gz → 0.4.46__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 (137) hide show
  1. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/Makefile +38 -24
  2. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/PKG-INFO +1 -1
  3. langgraph_api-0.4.46/langgraph_api/__init__.py +1 -0
  4. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/package.json +1 -1
  5. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/yarn.lock +4 -4
  6. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/metadata.py +1 -1
  7. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/server.py +16 -2
  8. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/uv.lock +6 -6
  9. langgraph_api-0.4.44/langgraph_api/__init__.py +0 -1
  10. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/.gitignore +0 -0
  11. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/LICENSE +0 -0
  12. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/README.md +0 -0
  13. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/.gitignore +0 -0
  14. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/Makefile +0 -0
  15. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/README.md +0 -0
  16. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/burst.js +0 -0
  17. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/capacity_k6.js +0 -0
  18. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/capacity_runner.mjs +0 -0
  19. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/capacity_urls.mjs +0 -0
  20. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/clean.js +0 -0
  21. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/graphs.js +0 -0
  22. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/package.json +0 -0
  23. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/ramp.js +0 -0
  24. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/reporting/dd_reporting.py +0 -0
  25. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/update-revision.js +0 -0
  26. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/benchmark/weather.js +0 -0
  27. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/constraints.txt +0 -0
  28. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/forbidden.txt +0 -0
  29. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/healthcheck.py +0 -0
  30. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/__init__.py +0 -0
  31. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/a2a.py +0 -0
  32. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/assistants.py +0 -0
  33. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/mcp.py +0 -0
  34. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/meta.py +0 -0
  35. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/openapi.py +0 -0
  36. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/runs.py +0 -0
  37. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/store.py +0 -0
  38. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/threads.py +0 -0
  39. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/api/ui.py +0 -0
  40. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/asgi_transport.py +0 -0
  41. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/asyncio.py +0 -0
  42. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/__init__.py +0 -0
  43. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/custom.py +0 -0
  44. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/langsmith/__init__.py +0 -0
  45. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/langsmith/backend.py +0 -0
  46. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/langsmith/client.py +0 -0
  47. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/middleware.py +0 -0
  48. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/noop.py +0 -0
  49. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/auth/studio_user.py +0 -0
  50. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/cli.py +0 -0
  51. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/command.py +0 -0
  52. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/config.py +0 -0
  53. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/cron_scheduler.py +0 -0
  54. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/errors.py +0 -0
  55. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/executor_entrypoint.py +0 -0
  56. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/feature_flags.py +0 -0
  57. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/graph.py +0 -0
  58. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/__init__.py +0 -0
  59. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/client.py +0 -0
  60. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/generated/__init__.py +0 -0
  61. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/generated/core_api_pb2.py +0 -0
  62. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/generated/core_api_pb2.pyi +0 -0
  63. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/generated/core_api_pb2_grpc.py +0 -0
  64. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/grpc_ops/ops.py +0 -0
  65. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/http.py +0 -0
  66. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/http_metrics.py +0 -0
  67. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/http_metrics_utils.py +0 -0
  68. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/.gitignore +0 -0
  69. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/.prettierrc +0 -0
  70. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/__init__.py +0 -0
  71. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/base.py +0 -0
  72. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/build.mts +0 -0
  73. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/client.http.mts +0 -0
  74. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/client.mts +0 -0
  75. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/errors.py +0 -0
  76. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/global.d.ts +0 -0
  77. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/remote.py +0 -0
  78. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/schema.py +0 -0
  79. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/graph.mts +0 -0
  80. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/load.hooks.mjs +0 -0
  81. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/preload.mjs +0 -0
  82. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/utils/files.mts +0 -0
  83. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/utils/importMap.mts +0 -0
  84. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  85. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/src/utils/serde.mts +0 -0
  86. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/sse.py +0 -0
  87. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/traceblock.mts +0 -0
  88. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/tsconfig.json +0 -0
  89. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/js/ui.py +0 -0
  90. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/logging.py +0 -0
  91. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/middleware/__init__.py +0 -0
  92. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/middleware/http_logger.py +0 -0
  93. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/middleware/private_network.py +0 -0
  94. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/middleware/request_id.py +0 -0
  95. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/models/__init__.py +0 -0
  96. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/models/run.py +0 -0
  97. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/patch.py +0 -0
  98. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/queue_entrypoint.py +0 -0
  99. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/route.py +0 -0
  100. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/schema.py +0 -0
  101. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/self_hosted_logs.py +0 -0
  102. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/self_hosted_metrics.py +0 -0
  103. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/serde.py +0 -0
  104. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/sse.py +0 -0
  105. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/state.py +0 -0
  106. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/store.py +0 -0
  107. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/stream.py +0 -0
  108. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/thread_ttl.py +0 -0
  109. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/traceblock.py +0 -0
  110. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/tunneling/cloudflare.py +0 -0
  111. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/__init__.py +0 -0
  112. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/cache.py +0 -0
  113. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/config.py +0 -0
  114. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/errors.py +0 -0
  115. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/future.py +0 -0
  116. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/headers.py +0 -0
  117. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/retriable_client.py +0 -0
  118. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/stream_codec.py +0 -0
  119. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/utils/uuids.py +0 -0
  120. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/validation.py +0 -0
  121. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/webhook.py +0 -0
  122. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_api/worker.py +0 -0
  123. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_license/__init__.py +0 -0
  124. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_license/validation.py +0 -0
  125. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/__init__.py +0 -0
  126. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/checkpoint.py +0 -0
  127. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/database.py +0 -0
  128. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/lifespan.py +0 -0
  129. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/metrics.py +0 -0
  130. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/ops.py +0 -0
  131. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/queue.py +0 -0
  132. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/retry.py +0 -0
  133. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/langgraph_runtime/store.py +0 -0
  134. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/logging.json +0 -0
  135. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/openapi.json +0 -0
  136. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/pyproject.toml +0 -0
  137. {langgraph_api-0.4.44 → langgraph_api-0.4.46}/scripts/create_license.py +0 -0
@@ -74,11 +74,29 @@ unit-test:
74
74
  test-auth:
75
75
  LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_auth.py:get_current_active_user"}' REDIS_URI=_FAKE DATABASE_URI=:memory: MIGRATIONS_PATH=__inmem__ uv run pytest -v $(AUTH_TEST)
76
76
 
77
- test-auth-fastapi-jwt-before-custom-middleware:
78
- LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "auth_first"}' LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_middleware_ordering.py:auth"}' REDIS_URI=_FAKE DATABASE_URI=:memory: MIGRATIONS_PATH=__inmem__ uv run pytest -v $(AUTH_TEST)
79
77
 
80
- test-auth-fastapi-jwt-after-custom-middleware:
81
- LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "middleware_first"}' LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_middleware_ordering.py:auth"}' REDIS_URI=_FAKE DATABASE_URI=:memory: MIGRATIONS_PATH=__inmem__ uv run pytest -v $(AUTH_TEST)
78
+ define FASTAPI_JWT_AUTH_TEST
79
+ LANGGRAPH_RUNTIME_EDITION=inmem \
80
+ LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_middleware_ordering.py:auth"}' \
81
+ REDIS_URI=_FAKE \
82
+ DATABASE_URI=:memory: \
83
+ MIGRATIONS_PATH=__inmem__ \
84
+ LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "$(1)", "enable_custom_route_auth": $(2)}' \
85
+ uv run pytest -v $(AUTH_TEST)
86
+ endef
87
+
88
+ test-auth-fastapi-jwt--before-custom-middleware--no-custom-route-auth:
89
+ $(call FASTAPI_JWT_AUTH_TEST,auth_first,false)
90
+
91
+ test-auth-fastapi-jwt--after-custom-middleware--no-custom-route-auth:
92
+ $(call FASTAPI_JWT_AUTH_TEST,middleware_first,false)
93
+
94
+ test-auth-fastapi-jwt--before-custom-middleware--custom-route-auth:
95
+ $(call FASTAPI_JWT_AUTH_TEST,auth_first,true)
96
+
97
+ test-auth-fastapi-jwt--after-custom-middleware--custom-route-auth:
98
+ $(call FASTAPI_JWT_AUTH_TEST,middleware_first, true)
99
+
82
100
 
83
101
  test-auth-watch:
84
102
  LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_auth.py:get_current_active_user"}' REDIS_URI=_FAKE DATABASE_URI=:memory: MIGRATIONS_PATH=__inmem__ uv run ptw . -- -x -vv --ff --capture=no $(AUTH_TEST)
@@ -153,8 +171,9 @@ start-auth-fastapi-jwt:
153
171
  --reload-dir ../runtime_inmem \
154
172
  --no-access-log
155
173
 
156
- start-auth-fastapi-jwt-before-custom-middleware:
157
- LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "auth_first"}' \
174
+ define RUN_FASTAPI_JWT_MW_ORDERING
175
+ LANGGRAPH_RUNTIME_EDITION=inmem \
176
+ LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "$(1)", "enable_custom_route_auth": $(2)}' \
158
177
  N_JOBS_PER_WORKER=2 \
159
178
  LANGSERVE_GRAPHS=$(LANGSERVE_GRAPHS_AUTH) \
160
179
  LANGGRAPH_STORE='$(STORE_CONFIG)' \
@@ -170,25 +189,20 @@ start-auth-fastapi-jwt-before-custom-middleware:
170
189
  --reload-dir langgraph_api \
171
190
  --reload-dir ../runtime_inmem \
172
191
  --no-access-log
192
+ endef
193
+
194
+ start-auth-fastapi-jwt--before-custom-middleware--no-custom-route-auth:
195
+ $(call RUN_FASTAPI_JWT_MW_ORDERING,auth_first,false)
196
+
197
+ start-auth-fastapi-jwt--after-custom-middleware--no-custom-route-auth:
198
+ $(call RUN_FASTAPI_JWT_MW_ORDERING,middleware_first,false)
199
+
200
+ start-auth-fastapi-jwt--before-custom-middleware--custom-route-auth:
201
+ $(call RUN_FASTAPI_JWT_MW_ORDERING,auth_first,true)
202
+
203
+ start-auth-fastapi-jwt--after-custom-middleware--custom-route-auth:
204
+ $(call RUN_FASTAPI_JWT_MW_ORDERING,middleware_first,true)
173
205
 
174
- start-auth-fastapi-jwt-after-custom-middleware:
175
- LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "middleware_first"}' \
176
- N_JOBS_PER_WORKER=2 \
177
- LANGSERVE_GRAPHS=$(LANGSERVE_GRAPHS_AUTH) \
178
- LANGGRAPH_STORE='$(STORE_CONFIG)' \
179
- LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_middleware_ordering.py:auth"}' \
180
- LANGSMITH_LANGGRAPH_API_VARIANT=test \
181
- REDIS_URI=fake \
182
- DATABASE_URI=:memory: \
183
- MIGRATIONS_PATH=__inmem \
184
- uv run uvicorn \
185
- "langgraph_api.server:app" \
186
- --reload \
187
- --port 9123 \
188
- --reload-dir langgraph_api \
189
- --reload-dir ../runtime_inmem \
190
- --no-access-log
191
-
192
206
 
193
207
  start-js-server:
194
208
  @echo "Building and starting Go gRPC server..."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.4.44
3
+ Version: 0.4.46
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
@@ -0,0 +1 @@
1
+ __version__ = "0.4.46"
@@ -25,7 +25,7 @@
25
25
  "typescript": "^5.5.4",
26
26
  "undici": "^6.21.2",
27
27
  "uuid": "^10.0.0",
28
- "vite": "^6.3.6",
28
+ "vite": "^6.4.1",
29
29
  "winston": "^3.17.0",
30
30
  "zod": "^3.25.32"
31
31
  },
@@ -1623,10 +1623,10 @@ vite-node@3.1.4:
1623
1623
  pathe "^2.0.3"
1624
1624
  vite "^5.0.0 || ^6.0.0"
1625
1625
 
1626
- "vite@^5.0.0 || ^6.0.0", vite@^6.1.6, vite@^6.3.6:
1627
- version "6.3.6"
1628
- resolved "https://registry.yarnpkg.com/vite/-/vite-6.3.6.tgz#69a976b64930750d40219fbc68c5200874d315c1"
1629
- integrity sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==
1626
+ "vite@^5.0.0 || ^6.0.0", vite@^6.1.6, vite@^6.4.1:
1627
+ version "6.4.1"
1628
+ resolved "https://registry.yarnpkg.com/vite/-/vite-6.4.1.tgz#afbe14518cdd6887e240a4b0221ab6d0ce733f96"
1629
+ integrity sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==
1630
1630
  dependencies:
1631
1631
  esbuild "^0.25.0"
1632
1632
  fdir "^6.4.4"
@@ -61,7 +61,7 @@ NODE_COUNTER = 0
61
61
  FROM_TIMESTAMP = datetime.now(UTC).isoformat()
62
62
 
63
63
  # Beacon endpoint for license key submissions
64
- BEACON_ENDPOINT = "https://api.smith.langchain.com/v1/metadata/submit"
64
+ BEACON_ENDPOINT = "https://beacon.langchain.com/v1/beacon/metadata/submit"
65
65
 
66
66
  # LangChain auth endpoint for API key submissions
67
67
  LANGCHAIN_METADATA_ENDPOINT = None
@@ -151,6 +151,9 @@ custom_middleware = (
151
151
  auth_before_custom_middleware = (
152
152
  config.HTTP_CONFIG and config.HTTP_CONFIG.get("middleware_order") == "auth_first"
153
153
  )
154
+ enable_auth_on_custom_routes = config.HTTP_CONFIG and config.HTTP_CONFIG.get(
155
+ "enable_custom_route_auth"
156
+ )
154
157
  # Custom middleware to be applied at the route/mount level, not globally (app level).
155
158
  route_level_custom_middleware = (
156
159
  custom_middleware if auth_before_custom_middleware else []
@@ -186,11 +189,22 @@ if user_router:
186
189
  # custom middleware before *or* after authentication middleware,
187
190
  # depending on the `middleware_order` config.
188
191
  user_app = apply_middleware(
189
- routes=app.routes, middleware=route_level_custom_middleware
192
+ routes=app.routes,
193
+ middleware=(
194
+ middleware_for_protected_routes if enable_auth_on_custom_routes else []
195
+ )
196
+ + route_level_custom_middleware,
190
197
  )
191
198
  app.user_middleware = global_middleware
192
199
  else:
193
- user_app = app.routes
200
+ user_app = (
201
+ apply_middleware(
202
+ routes=app.routes,
203
+ middleware=middleware_for_protected_routes,
204
+ )
205
+ if enable_auth_on_custom_routes
206
+ else app.routes
207
+ )
194
208
  app.user_middleware = custom_middleware + global_middleware
195
209
 
196
210
  app.router.routes = (
@@ -492,11 +492,11 @@ wheels = [
492
492
 
493
493
  [[package]]
494
494
  name = "iniconfig"
495
- version = "2.1.0"
495
+ version = "2.3.0"
496
496
  source = { registry = "https://pypi.org/simple" }
497
- sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" }
497
+ sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" }
498
498
  wheels = [
499
- { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" },
499
+ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" },
500
500
  ]
501
501
 
502
502
  [[package]]
@@ -1609,15 +1609,15 @@ wheels = [
1609
1609
 
1610
1610
  [[package]]
1611
1611
  name = "uvicorn"
1612
- version = "0.37.0"
1612
+ version = "0.38.0"
1613
1613
  source = { registry = "https://pypi.org/simple" }
1614
1614
  dependencies = [
1615
1615
  { name = "click" },
1616
1616
  { name = "h11" },
1617
1617
  ]
1618
- sdist = { url = "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz", hash = "sha256:4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13", size = 80367, upload-time = "2025-09-23T13:33:47.486Z" }
1618
+ sdist = { url = "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz", hash = "sha256:fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d", size = 80605, upload-time = "2025-10-18T13:46:44.63Z" }
1619
1619
  wheels = [
1620
- { url = "https://files.pythonhosted.org/packages/85/cd/584a2ceb5532af99dd09e50919e3615ba99aa127e9850eafe5f31ddfdb9a/uvicorn-0.37.0-py3-none-any.whl", hash = "sha256:913b2b88672343739927ce381ff9e2ad62541f9f8289664fa1d1d3803fa2ce6c", size = 67976, upload-time = "2025-09-23T13:33:45.842Z" },
1620
+ { url = "https://files.pythonhosted.org/packages/ee/d9/d88e73ca598f4f6ff671fb5fde8a32925c2e08a637303a1d12883c7305fa/uvicorn-0.38.0-py3-none-any.whl", hash = "sha256:48c0afd214ceb59340075b4a052ea1ee91c16fbc2a9b1469cca0e54566977b02", size = 68109, upload-time = "2025-10-18T13:46:42.958Z" },
1621
1621
  ]
1622
1622
 
1623
1623
  [[package]]
@@ -1 +0,0 @@
1
- __version__ = "0.4.44"
File without changes
File without changes