langgraph-api 0.16.0.dev8__tar.gz → 0.16.0.dev10__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.
Files changed (324) hide show
  1. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/Makefile +4 -0
  2. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/PKG-INFO +1 -1
  3. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/README.md +17 -4
  4. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/delta_turns.ts +31 -5
  5. langgraph_api-0.16.0.dev10/benchmark/delta-report.js +580 -0
  6. langgraph_api-0.16.0.dev10/benchmark/delta-report.test.js +174 -0
  7. langgraph_api-0.16.0.dev10/langgraph_api/__init__.py +1 -0
  8. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/__init__.py +53 -8
  9. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/runs.py +73 -43
  10. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/store.py +40 -14
  11. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/client.mts +8 -1
  12. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/remote.py +95 -10
  13. langgraph_api-0.16.0.dev10/langgraph_api/js/src/auth-mutations.mts +71 -0
  14. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/lc_security/transport.py +1 -1
  15. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/schema.py +2 -0
  16. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/stream.py +9 -10
  17. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/worker.py +14 -0
  18. langgraph_api-0.16.0.dev8/langgraph_api/__init__.py +0 -1
  19. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/.gitignore +0 -0
  20. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/LICENSE +0 -0
  21. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/README.md +0 -0
  22. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/.gitignore +0 -0
  23. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/Makefile +0 -0
  24. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/assistant.ts +0 -0
  25. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  26. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
  27. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  28. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  29. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/classify-error.test.js +0 -0
  30. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/classify-error.ts +0 -0
  31. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/delta-turns-lib.test.js +0 -0
  32. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/delta-turns-lib.ts +0 -0
  33. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  34. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/interrupt_resume.ts +0 -0
  35. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/log-failure.ts +0 -0
  36. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  37. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/store.ts +0 -0
  38. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/stream_write.ts +0 -0
  39. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/thread.ts +0 -0
  40. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  41. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  42. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/types.ts +0 -0
  43. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/benchmark-runners/wait_write.ts +0 -0
  44. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/capacity-ci.js +0 -0
  45. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/capacity-ci.test.js +0 -0
  46. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/clean-cli.js +0 -0
  47. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/clean.js +0 -0
  48. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/continuous/README.md +0 -0
  49. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/continuous/pyproject.toml +0 -0
  50. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/continuous/runner.py +0 -0
  51. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/continuous/uv.lock +0 -0
  52. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/daily-report.js +0 -0
  53. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/daily-report.test.js +0 -0
  54. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/graphs.js +0 -0
  55. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/history.js +0 -0
  56. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/history.test.js +0 -0
  57. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/host-v2.js +0 -0
  58. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/host-v2.test.js +0 -0
  59. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/multer.test.js +0 -0
  60. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/package.json +0 -0
  61. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/ramp.js +0 -0
  62. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/reporting/dd_reporting.py +0 -0
  63. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/runner-descriptions.js +0 -0
  64. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/server-metrics.js +0 -0
  65. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/server-metrics.test.js +0 -0
  66. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/slack.js +0 -0
  67. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/staircase.py +0 -0
  68. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/staircase_step_k6.js +0 -0
  69. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/tsconfig.json +0 -0
  70. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/update-revision.js +0 -0
  71. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/weather.js +0 -0
  72. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/benchmark/yarn.lock +0 -0
  73. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/constraints.txt +0 -0
  74. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/custom_store.sql +0 -0
  75. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/forbidden.txt +0 -0
  76. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/hatch_build.py +0 -0
  77. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/healthcheck.py +0 -0
  78. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  79. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/_checkpointer/__init__.py +0 -0
  80. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/_checkpointer/_adapter.py +0 -0
  81. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/_checkpointer/protocol.py +0 -0
  82. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/_factory_utils.py +0 -0
  83. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2a.py +0 -0
  84. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2ui.py +0 -0
  85. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2ui_schemas/README.md +0 -0
  86. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2ui_schemas/client_capabilities.json +0 -0
  87. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2ui_schemas/client_data_model.json +0 -0
  88. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2ui_schemas/client_to_server.json +0 -0
  89. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/a2ui_schemas/server_to_client.json +0 -0
  90. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/assistants.py +0 -0
  91. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/event_streaming.py +0 -0
  92. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/mcp/__init__.py +0 -0
  93. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/mcp/_constants.py +0 -0
  94. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/mcp/_handlers.py +0 -0
  95. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/mcp/_models.py +0 -0
  96. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/mcp/_routes.py +0 -0
  97. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  98. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/meta.py +0 -0
  99. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/openapi.py +0 -0
  100. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/profile.py +0 -0
  101. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/threads.py +0 -0
  102. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/api/ui.py +0 -0
  103. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/asgi_transport.py +0 -0
  104. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/asyncio.py +0 -0
  105. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/__init__.py +0 -0
  106. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/custom.py +0 -0
  107. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/errors.py +0 -0
  108. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/langsmith/__init__.py +0 -0
  109. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/langsmith/backend.py +0 -0
  110. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/langsmith/client.py +0 -0
  111. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/middleware.py +0 -0
  112. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/noop.py +0 -0
  113. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/auth/studio_user.py +0 -0
  114. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/beacon_data_plane_jwt_auth.py +0 -0
  115. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/cache.py +0 -0
  116. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/cli.py +0 -0
  117. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/command.py +0 -0
  118. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/config/__init__.py +0 -0
  119. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/config/_parse.py +0 -0
  120. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/config/schemas.py +0 -0
  121. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/cron_scheduler.py +0 -0
  122. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/encryption/__init__.py +0 -0
  123. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/encryption/aes_json.py +0 -0
  124. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/encryption/context.py +0 -0
  125. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/encryption/custom.py +0 -0
  126. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/encryption/middleware.py +0 -0
  127. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/encryption/shared.py +0 -0
  128. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/errors.py +0 -0
  129. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/__init__.py +0 -0
  130. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/capabilities.py +0 -0
  131. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/constants.py +0 -0
  132. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/event_normalizers.py +0 -0
  133. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/namespace.py +0 -0
  134. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/service.py +0 -0
  135. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/session.py +0 -0
  136. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/state_normalizers.py +0 -0
  137. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/event_streaming/types.py +0 -0
  138. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/feature_flags.py +0 -0
  139. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/graph.py +0 -0
  140. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/__init__.py +0 -0
  141. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/client.py +0 -0
  142. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  143. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/ops/__init__.py +0 -0
  144. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/ops/assistants.py +0 -0
  145. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/ops/cache.py +0 -0
  146. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/ops/crons.py +0 -0
  147. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/ops/runs.py +0 -0
  148. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/ops/threads.py +0 -0
  149. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/server.py +0 -0
  150. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/servicers/__init__.py +0 -0
  151. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  152. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/grpc/servicers/encryption.py +0 -0
  153. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/http.py +0 -0
  154. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/http_metrics.py +0 -0
  155. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/http_metrics_utils.py +0 -0
  156. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/.gitignore +0 -0
  157. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/.prettierrc +0 -0
  158. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/.yarnclean +0 -0
  159. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/__init__.py +0 -0
  160. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/base.py +0 -0
  161. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/build.mts +0 -0
  162. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/client.http.mts +0 -0
  163. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/errors.py +0 -0
  164. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/global.d.ts +0 -0
  165. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/package.json +0 -0
  166. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/schema.py +0 -0
  167. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/graph.mts +0 -0
  168. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/load.hooks.mjs +0 -0
  169. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/preload.mjs +0 -0
  170. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
  171. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/utils/files.mts +0 -0
  172. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/utils/importMap.mts +0 -0
  173. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  174. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/src/utils/serde.mts +0 -0
  175. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/sse.py +0 -0
  176. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/traceblock.mts +0 -0
  177. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/tsconfig.json +0 -0
  178. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/ui.py +0 -0
  179. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/js/yarn.lock +0 -0
  180. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/lc_security/__init__.py +0 -0
  181. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/lc_security/exceptions.py +0 -0
  182. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/lc_security/policy.py +0 -0
  183. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/logging.py +0 -0
  184. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/metadata.py +0 -0
  185. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/metrics_collector.py +0 -0
  186. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/metrics_otlp.py +0 -0
  187. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/middleware/__init__.py +0 -0
  188. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/middleware/ensure_store.py +0 -0
  189. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/middleware/http_logger.py +0 -0
  190. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/middleware/private_network.py +0 -0
  191. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/middleware/request_id.py +0 -0
  192. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/models/__init__.py +0 -0
  193. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/models/run.py +0 -0
  194. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/otel_context.py +0 -0
  195. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/patch.py +0 -0
  196. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/queue_entrypoint.py +0 -0
  197. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/release_tags.py +0 -0
  198. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/route.py +0 -0
  199. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/runner/__init__.py +0 -0
  200. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/runner/__main__.py +0 -0
  201. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/self_hosted_logs.py +0 -0
  202. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/self_hosted_metrics.py +0 -0
  203. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/serde.py +0 -0
  204. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/server.py +0 -0
  205. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/sse.py +0 -0
  206. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/state.py +0 -0
  207. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/store.py +0 -0
  208. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/stream_v2.py +0 -0
  209. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/timing/__init__.py +0 -0
  210. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/timing/profiler.py +0 -0
  211. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/timing/timer.py +0 -0
  212. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/traceblock.py +0 -0
  213. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/tracing_session.py +0 -0
  214. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/tunneling/cloudflare.py +0 -0
  215. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/__init__.py +0 -0
  216. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/cache.py +0 -0
  217. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/config.py +0 -0
  218. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/errors.py +0 -0
  219. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/extract.py +0 -0
  220. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/future.py +0 -0
  221. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/headers.py +0 -0
  222. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/network.py +0 -0
  223. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/retriable_client.py +0 -0
  224. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/stream_codec.py +0 -0
  225. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/utils/uuids.py +0 -0
  226. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/validation.py +0 -0
  227. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/webhook.py +0 -0
  228. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_api/worker_runtime.py +0 -0
  229. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/__init__.py +0 -0
  230. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/checkpointer.py +0 -0
  231. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/__init__.py +0 -0
  232. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/_compat.py +0 -0
  233. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  234. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/config.py +0 -0
  235. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/durability.py +0 -0
  236. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/store.py +0 -0
  237. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/struct.py +0 -0
  238. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/conversion/value.py +0 -0
  239. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/__init__.py +0 -0
  240. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  241. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  242. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  243. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  244. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  245. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  246. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  247. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  248. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  249. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  250. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  251. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  252. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  253. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  254. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  255. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  256. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  257. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  258. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  259. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  260. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  261. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  262. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  263. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  264. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  265. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  266. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  267. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  268. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  269. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  270. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  271. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  272. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  273. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  274. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  275. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  276. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  277. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  278. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  279. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  280. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  281. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  282. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  283. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  284. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  285. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  286. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  287. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  288. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  289. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  290. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  291. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  292. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  293. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  294. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  295. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  296. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/runner_pb2.py +0 -0
  297. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/runner_pb2.pyi +0 -0
  298. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/runner_pb2_grpc.py +0 -0
  299. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/runner_pb2_grpc.pyi +0 -0
  300. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/store_pb2.py +0 -0
  301. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
  302. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
  303. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
  304. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/serde.py +0 -0
  305. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_grpc_common/store.py +0 -0
  306. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_license/__init__.py +0 -0
  307. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_license/validation.py +0 -0
  308. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/__init__.py +0 -0
  309. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/checkpoint.py +0 -0
  310. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/database.py +0 -0
  311. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/lifespan.py +0 -0
  312. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/metrics.py +0 -0
  313. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/ops.py +0 -0
  314. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/queue.py +0 -0
  315. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/retry.py +0 -0
  316. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/routes.py +0 -0
  317. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/langgraph_runtime/store.py +0 -0
  318. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/logging.json +0 -0
  319. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/openapi.json +0 -0
  320. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/pyproject.toml +0 -0
  321. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/scripts/build_wheel.py +0 -0
  322. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/scripts/create_license.py +0 -0
  323. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/scripts/run_a2a_tck.py +0 -0
  324. {langgraph_api-0.16.0.dev8 → langgraph_api-0.16.0.dev10}/uv.lock +0 -0
@@ -313,6 +313,10 @@ VERSION_KIND ?= patch
313
313
  bump-version:
314
314
  uv run --with hatch hatch version $(VERSION_KIND)
315
315
 
316
+ sync-runtime-inmem-dep:
317
+ @python3 -c 'import pathlib,re; v=pathlib.Path("../runtime_inmem/langgraph_runtime_inmem/__init__.py").read_text(); m=re.search(r"__version__\s*=\s*\"(\d+)\.(\d+)", v); major,minor=map(int,m.groups()); p=pathlib.Path("pyproject.toml"); text,n=re.subn(r"\"langgraph-runtime-inmem>=[^\"]+\",", f"\"langgraph-runtime-inmem>={major}.{minor}.0.dev0,<{major}.{minor + 1}.0.dev0\",", p.read_text(), count=1); \
318
+ assert n==1, "langgraph-runtime-inmem dep not found in pyproject.toml"; p.write_text(text)'
319
+
316
320
  # A2A TCK (Test Compatibility Kit) targets
317
321
  # Requires a running server: make start (in another terminal)
318
322
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.16.0.dev8
3
+ Version: 0.16.0.dev10
4
4
  Author-email: Will Fu-Hinthorn <will@langchain.dev>, Josh Rogers <josh@langchain.dev>, Parker Rule <parker@langchain.dev>
5
5
  License: Elastic-2.0
6
6
  License-File: LICENSE
@@ -129,7 +129,11 @@ by replaying them. That moves cost from write to read, and the read cost grows w
129
129
  thread depth. `delta_turns` measures it: one thread per VU, one turn per iteration,
130
130
  `turn_duration` tagged by depth bucket.
131
131
 
132
- Run the cells one at a time and compare `turn_duration` by depth. Both sides get slower
132
+ `benchmark-delta.yml` runs four cells nightly, 20 users for 25 minutes each, 1 KB appended per turn (`CHECKPOINT_SIZE`): plain channel, then
133
+ delta snapshotting every 50 (`benchmark_delta_freq`, the deepagents setting), 500
134
+ (`benchmark_delta_500`) and 1000 (`benchmark_delta`, the library default). `delta-report.js` posts
135
+ a headline table (non-delta vs delta at 50: read, write, storage by depth) and one table per metric
136
+ across the three frequencies. The messages and migration cells stay manual. Run the cells one at a time and compare `turn_duration` by depth. Both sides get slower
133
137
  with depth for different reasons, the control by re-writing a growing value and delta by
134
138
  replaying more writes, so the deliverable is which curve is worse and where they cross.
135
139
 
@@ -138,6 +142,7 @@ replaying more writes, so the deliverable is which curve is worse and where they
138
142
  | control | `GRAPH_ID=benchmark EXPECT_DELTA=false` |
139
143
  | delta, snapshot every 1000 | `GRAPH_ID=benchmark_delta` |
140
144
  | delta, snapshot every 50 | `GRAPH_ID=benchmark_delta_freq` |
145
+ | delta, snapshot every 500 | `GRAPH_ID=benchmark_delta_500` |
141
146
  | delta on a message list | `GRAPH_ID=benchmark_delta_messages PAYLOAD=messages` |
142
147
  | migration | `GRAPH_ID=benchmark_delta MIGRATE_FROM_GRAPH_ID=benchmark MIGRATE_AFTER=200` |
143
148
 
@@ -154,7 +159,7 @@ Knobs beyond the common ones:
154
159
  - `MIGRATE_FROM_GRAPH_ID` / `MIGRATE_AFTER` - run the first N turns on another graph, then
155
160
  switch on the same thread.
156
161
  - `VERIFY_EVERY` - cold re-read cadence in turns. Default 50, `0` disables.
157
- - `DEPTH_BUCKET` - width of a depth bucket. Default 100.
162
+ - `DEPTH_BUCKET` - width of a depth bucket. Defaults to `VERIFY_EVERY`, so each bucket holds one cold read per thread.
158
163
 
159
164
  Two things to know before reading any result:
160
165
 
@@ -166,7 +171,9 @@ Two things to know before reading any result:
166
171
 
167
172
  The runner fails a turn rather than reporting a false pass when delta is not actually on:
168
173
  the `DeltaChannel` import is version-guarded, and its stub degrades to a plain channel.
169
- At every `VERIFY_EVERY` turn it also reads `GET /threads/{thread_id}/storage` and records
174
+ At every `VERIFY_EVERY` turn it also times the cold `GET /threads/{thread_id}/state` as
175
+ `state_read_duration` (the read path alone; a turn is one save plus the read before it), and
176
+ reads `GET /threads/{thread_id}/storage` and records
170
177
  `thread_storage_bytes` tagged by depth bucket and graph, so the control and delta cells can
171
178
  be compared on the bytes they occupy, which is what the feature exists to reduce.
172
179
 
@@ -185,6 +192,12 @@ be compared on the bytes they occupy, which is what the feature exists to reduce
185
192
 
186
193
  - Daily ramp benchmark: `.github/workflows/benchmark.yml`
187
194
  - Daily capacity matrix: `.github/workflows/benchmark-capacity-matrix.yml`
195
+ - Daily delta-channel cells: `.github/workflows/benchmark-delta.yml`, reported by `delta-report.js`
196
+
197
+ The staging deployments build their graphs from
198
+ [langgraph-server-benchmarks](https://github.com/langchain-ai/langgraph-server-benchmarks), not
199
+ from this repo. Its `src/agent/graph.py` is a copy of `api/tests/graphs/benchmark.py`; a graph
200
+ change here reaches the nightly only once that copy is updated.
188
201
 
189
202
  ### Capacity matrix setup
190
203
 
@@ -203,7 +216,7 @@ Every report follows one shape so the channel reads the same way each morning, o
203
216
  - One table per deployment, about 40 characters wide so it fits a phone, with `▲ better` / `▼ worse` markers on cells that left their usual range.
204
217
  - One legend line (pass rule, arrows, dot colors), then a link to the thread, which holds the per-cell or per-run numbers and the longer *How to read*, and to the run's artifacts.
205
218
 
206
- Both reports compare tonight with the previous scheduled nights (`history.js`, artifacts fetched with `gh`). A figure is flagged only when it leaves that cell's own observed range, and only once five same-kind nights exist; before that the table says how many nights it has. The daily benchmark posts one digest per workflow once its last runner finishes (`daily-report.js`, fed by each runner's artifact), not one message per runner.
219
+ Both reports compare tonight with the previous scheduled nights (`history.js`, artifacts fetched with `gh`). A figure is flagged only when it leaves that cell's own observed range, and only once five same-kind nights exist; before that the table says how many nights it has. The daily benchmark posts one digest per workflow once its last runner finishes (`daily-report.js`, fed by each runner's artifact), not one message per runner. The delta-channel report (`delta-report.js`) keeps the plain-vs-delta table in the channel and puts the snapshot-frequency sweep in the thread.
207
220
 
208
221
  Local commands:
209
222
 
@@ -30,6 +30,8 @@ const PAYLOAD_CHANNELS = [
30
30
 
31
31
  /** Tagged by depth: VUs ramp in, so clock time is not thread length. */
32
32
  const turnDuration = new Trend('turn_duration', true);
33
+ /** The read path alone: a cold GET /state replays the channel without writing. */
34
+ const stateReadDuration = new Trend('state_read_duration', true);
33
35
  const threadStorageBytes = new Trend('thread_storage_bytes', false);
34
36
 
35
37
  const TURN_CONFIG: Omit<DeltaTurnsOptions, 'graphId'> = {
@@ -37,7 +39,8 @@ const TURN_CONFIG: Omit<DeltaTurnsOptions, 'graphId'> = {
37
39
  migrateAfter: parseInt(__ENV.MIGRATE_AFTER || '0', 10),
38
40
  expectDelta: (__ENV.EXPECT_DELTA || 'true') === 'true',
39
41
  verifyEvery: parseInt(__ENV.VERIFY_EVERY || '50', 10),
40
- bucketSize: parseInt(__ENV.DEPTH_BUCKET || '100', 10),
42
+ // One bucket per cold read, so every row of the report is one sample per thread.
43
+ bucketSize: parseInt(__ENV.DEPTH_BUCKET || __ENV.VERIFY_EVERY || '50', 10),
41
44
  };
42
45
 
43
46
  // Each k6 VU runs this module in its own context, so these are per VU.
@@ -49,6 +52,8 @@ interface DeltaTurnsData {
49
52
  plan: TurnPlan;
50
53
  guardFailure: string | null;
51
54
  drift: string | null;
55
+ /** Non-200 status of the cold state read, which is a failed request, not a correctness failure. */
56
+ stateStatus: number | null;
52
57
  }
53
58
 
54
59
  export class DeltaTurns extends BenchmarkRunner {
@@ -93,13 +98,24 @@ export class DeltaTurns extends BenchmarkRunner {
93
98
 
94
99
  let guardFailure: string | null = null;
95
100
  let drift: string | null = null;
101
+ let stateStatus: number | null = null;
96
102
  // A failed body is not state, and comparing against it would report drift
97
103
  // on top of the failure that caused it.
98
104
  if (response.status === 200 && (plan.guard || plan.verify)) {
99
105
  const state = http.get(`${baseUrl}/threads/${threadId}/state`, requestParams);
106
+ // Time to first byte: the server cannot start answering before it has
107
+ // rebuilt the value, and the body that follows is the whole state, which
108
+ // at depth is hundreds of KB the turn itself never sends. Wall time made
109
+ // a plain-channel read cost as much as a whole turn. The turn-2 guard
110
+ // read is at depth 2, not the bucket's end, so it is not timed.
111
+ if (state.status === 200 && plan.verify) {
112
+ stateReadDuration.add(state.timings.waiting, { depth: plan.depthBucket });
113
+ }
100
114
  addResponse(responses, 'state', state);
101
115
  const body = state.status === 200 ? safeJson(state.body) : null;
102
- if (body === null) {
116
+ if (state.status !== 200) {
117
+ stateStatus = state.status;
118
+ } else if (body === null) {
103
119
  guardFailure = plan.guard ? 'state_unreadable' : guardFailure;
104
120
  drift = plan.verify ? 'state_unreadable' : drift;
105
121
  } else {
@@ -111,7 +127,13 @@ export class DeltaTurns extends BenchmarkRunner {
111
127
  }
112
128
  }
113
129
  if (plan.verify) {
114
- const storage = http.get(`${baseUrl}/threads/${threadId}/storage`, requestParams);
130
+ // Servers before 0.16 have no storage endpoint. A 404 there is a missing
131
+ // sample, not a failed request: without this, one 404 per 50 turns is
132
+ // about 2% and trips the 1% error budget on every cell.
133
+ const storage = http.get(`${baseUrl}/threads/${threadId}/storage`, {
134
+ ...requestParams,
135
+ responseCallback: http.expectedStatuses(200, 404),
136
+ });
115
137
  addResponse(responses, 'storage', storage);
116
138
  const total = storage.status === 200 ? safeJson(storage.body)?.total_bytes : null;
117
139
  if (typeof total === 'number') {
@@ -120,7 +142,7 @@ export class DeltaTurns extends BenchmarkRunner {
120
142
  }
121
143
  }
122
144
 
123
- return okResult(responses, { rawResponse: response, plan, guardFailure, drift });
145
+ return okResult(responses, { rawResponse: response, plan, guardFailure, drift, stateStatus });
124
146
  }
125
147
 
126
148
  static validate(
@@ -139,6 +161,7 @@ export class DeltaTurns extends BenchmarkRunner {
139
161
  'Response does not contain __error__': () => json?.__error__ === undefined,
140
162
  'Run advanced the thread by one turn': () =>
141
163
  json == null || plan == null || json.counter === plan.steps,
164
+ 'Cold state read succeeded': () => result.data?.stateStatus == null,
142
165
  'Delta storage is as expected': () => result.data?.guardFailure == null,
143
166
  'Cold re-read matches the run': () => result.data?.drift == null,
144
167
  });
@@ -150,6 +173,7 @@ export class DeltaTurns extends BenchmarkRunner {
150
173
  const detail = [
151
174
  plan ? `turn=${plan.steps} graph=${plan.graphId}` : '',
152
175
  res ? `status=${res.status}` : '',
176
+ result.data?.stateStatus ? `state_status=${result.data.stateStatus}` : '',
153
177
  result.data?.guardFailure ? `guard=${result.data.guardFailure}` : '',
154
178
  result.data?.drift ? `drift=${result.data.drift}` : '',
155
179
  ]
@@ -158,7 +182,9 @@ export class DeltaTurns extends BenchmarkRunner {
158
182
  logFailure(DeltaTurns.toString(), result, { extra: detail });
159
183
  recordError(
160
184
  classifyError({
161
- response: res ?? result.responses?.create_thread ?? null,
185
+ response: result.data?.stateStatus
186
+ ? result.responses?.state ?? null
187
+ : res ?? result.responses?.create_thread ?? null,
162
188
  hasApiError: json?.__error__ !== undefined,
163
189
  missingMessage: result.data?.drift != null || result.data?.guardFailure != null,
164
190
  }),