langgraph-cli 0.4.28__tar.gz → 0.4.29__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 (150) hide show
  1. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/PKG-INFO +1 -1
  2. langgraph_cli-0.4.29/langgraph_cli/__init__.py +1 -0
  3. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/cli.py +38 -0
  4. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/cli/test_cli.py +25 -0
  5. langgraph_cli-0.4.28/langgraph_cli/__init__.py +0 -1
  6. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/.gitignore +0 -0
  7. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/LICENSE +0 -0
  8. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/Makefile +0 -0
  9. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/README.md +0 -0
  10. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/.env.example +0 -0
  11. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/.gitignore +0 -0
  12. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/Makefile +0 -0
  13. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs/agent.py +0 -0
  14. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs/deps/additional_deps/pyproject.toml +0 -0
  15. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs/deps/zuper_deps/pyproject.toml +0 -0
  16. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs/langgraph.json +0 -0
  17. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs/pyproject.toml +0 -0
  18. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs_fail/agent.py +0 -0
  19. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs_fail/langgraph.json +0 -0
  20. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graph_prerelease_reqs_fail/pyproject.toml +0 -0
  21. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs/agent.py +0 -0
  22. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs/langgraph.json +0 -0
  23. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs/storm.py +0 -0
  24. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/__init__.py +0 -0
  25. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/graphs_submod/__init__.py +0 -0
  26. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/graphs_submod/agent.py +0 -0
  27. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/graphs_submod/subprompt.txt +0 -0
  28. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/hello.py +0 -0
  29. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/langgraph.json +0 -0
  30. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/prompt.txt +0 -0
  31. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_a/requirements.txt +0 -0
  32. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/graphs_submod/agent.py +0 -0
  33. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/graphs_submod/subprompt.txt +0 -0
  34. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/hello.py +0 -0
  35. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/langgraph.json +0 -0
  36. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/prompt.txt +0 -0
  37. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/requirements.txt +0 -0
  38. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/utils/__init__.py +0 -0
  39. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/graphs_reqs_b/utils/greeter.py +0 -0
  40. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/langgraph.json +0 -0
  41. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/my_app.py +0 -0
  42. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/pipconf.txt +0 -0
  43. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/poetry.lock +0 -0
  44. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/examples/pyproject.toml +0 -0
  45. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/generate_schema.py +0 -0
  46. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/.dockerignore +0 -0
  47. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/.editorconfig +0 -0
  48. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/.env.example +0 -0
  49. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/.eslintrc.cjs +0 -0
  50. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/.gitignore +0 -0
  51. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/LICENSE +0 -0
  52. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/README.md +0 -0
  53. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/jest.config.js +0 -0
  54. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/langgraph.json +0 -0
  55. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/package.json +0 -0
  56. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/src/agent/graph.ts +0 -0
  57. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/src/agent/state.ts +0 -0
  58. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/static/studio.png +0 -0
  59. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/tests/agent.test.ts +0 -0
  60. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/tests/graph.int.test.ts +0 -0
  61. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/tsconfig.json +0 -0
  62. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-examples/yarn.lock +0 -0
  63. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/.eslintrc.cjs +0 -0
  64. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/apps/agent/langgraph.json +0 -0
  65. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/apps/agent/package.json +0 -0
  66. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/apps/agent/src/graph.ts +0 -0
  67. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/apps/agent/src/state.ts +0 -0
  68. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/apps/agent/tsconfig.json +0 -0
  69. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/libs/shared/package.json +0 -0
  70. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/libs/shared/src/index.ts +0 -0
  71. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/libs/shared/tsconfig.json +0 -0
  72. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/package.json +0 -0
  73. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/tsconfig.json +0 -0
  74. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/turbo.json +0 -0
  75. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/js-monorepo-example/yarn.lock +0 -0
  76. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/__main__.py +0 -0
  77. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/_ignore.py +0 -0
  78. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/analytics.py +0 -0
  79. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/archive.py +0 -0
  80. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/config.py +0 -0
  81. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/constants.py +0 -0
  82. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/dependency_tracking.py +0 -0
  83. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/deploy.py +0 -0
  84. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/docker.py +0 -0
  85. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/exec.py +0 -0
  86. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/host_backend.py +0 -0
  87. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/progress.py +0 -0
  88. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/py.typed +0 -0
  89. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/schemas.py +0 -0
  90. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/templates.py +0 -0
  91. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/util.py +0 -0
  92. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/uv_lock.py +0 -0
  93. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/langgraph_cli/version.py +0 -0
  94. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/pyproject.toml +0 -0
  95. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/apps/agent/.env.example +0 -0
  96. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/apps/agent/langgraph.json +0 -0
  97. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/apps/agent/pyproject.toml +0 -0
  98. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/apps/agent/src/agent/__init__.py +0 -0
  99. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/apps/agent/src/agent/graph.py +0 -0
  100. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/apps/agent/src/agent/state.py +0 -0
  101. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/libs/common/__init__.py +0 -0
  102. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/libs/common/helpers.py +0 -0
  103. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/libs/shared/pyproject.toml +0 -0
  104. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/libs/shared/src/shared/__init__.py +0 -0
  105. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/libs/shared/src/shared/utils.py +0 -0
  106. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/python-monorepo-example/pyproject.toml +0 -0
  107. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/schemas/schema.json +0 -0
  108. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/schemas/schema.v0.json +0 -0
  109. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/schemas/version.schema.json +0 -0
  110. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/__init__.py +0 -0
  111. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/integration_tests/__init__.py +0 -0
  112. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/integration_tests/test_cli.py +0 -0
  113. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/__init__.py +0 -0
  114. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/agent.py +0 -0
  115. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/cli/__init__.py +0 -0
  116. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/cli/langgraph.json +0 -0
  117. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/cli/pyproject.toml +0 -0
  118. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/cli/test_templates.py +0 -0
  119. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/conftest.py +0 -0
  120. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/graphs/agent.py +0 -0
  121. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/helpers.py +0 -0
  122. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/multiplatform/js.mts +0 -0
  123. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/multiplatform/python.py +0 -0
  124. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/pipconfig.txt +0 -0
  125. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_archive.py +0 -0
  126. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_config.json +0 -0
  127. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_config.py +0 -0
  128. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_dependency_tracking.py +0 -0
  129. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_deploy_helpers.py +0 -0
  130. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_docker.py +0 -0
  131. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_host_backend.py +0 -0
  132. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_logs_helpers.py +0 -0
  133. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/tests/unit_tests/test_util.py +0 -0
  134. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/apps/agent/.env.example +0 -0
  135. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/apps/agent/langgraph.json +0 -0
  136. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/apps/agent/pyproject.toml +0 -0
  137. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/apps/agent/src/agent/__init__.py +0 -0
  138. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/apps/agent/src/agent/graph.py +0 -0
  139. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/libs/shared/pyproject.toml +0 -0
  140. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/libs/shared/src/shared/__init__.py +0 -0
  141. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/libs/shared/src/shared/utils.py +0 -0
  142. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/pyproject.toml +0 -0
  143. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/monorepo/uv.lock +0 -0
  144. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/simple/.env.example +0 -0
  145. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/simple/langgraph.json +0 -0
  146. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/simple/pyproject.toml +0 -0
  147. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/simple/src/agent/__init__.py +0 -0
  148. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/simple/src/agent/graph.py +0 -0
  149. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv-examples/simple/uv.lock +0 -0
  150. {langgraph_cli-0.4.28 → langgraph_cli-0.4.29}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-cli
3
- Version: 0.4.28
3
+ Version: 0.4.29
4
4
  Summary: CLI for interacting with LangGraph API
5
5
  Project-URL: Source, https://github.com/langchain-ai/langgraph/tree/main/libs/cli
6
6
  Project-URL: Twitter, https://x.com/langchain_oss
@@ -0,0 +1 @@
1
+ __version__ = "0.4.29"
@@ -724,6 +724,30 @@ def dockerfile(
724
724
  default="WARNING",
725
725
  help="Set the log level for the API server.",
726
726
  )
727
+ @click.option(
728
+ "--ssl-certfile",
729
+ type=click.Path(
730
+ exists=True,
731
+ file_okay=True,
732
+ dir_okay=False,
733
+ resolve_path=True,
734
+ path_type=pathlib.Path,
735
+ ),
736
+ default=None,
737
+ help="Path to an SSL certificate file for serving the development server over HTTPS.",
738
+ )
739
+ @click.option(
740
+ "--ssl-keyfile",
741
+ type=click.Path(
742
+ exists=True,
743
+ file_okay=True,
744
+ dir_okay=False,
745
+ resolve_path=True,
746
+ path_type=pathlib.Path,
747
+ ),
748
+ default=None,
749
+ help="Path to an SSL key file for serving the development server over HTTPS.",
750
+ )
727
751
  @cli.command(
728
752
  "dev",
729
753
  help="🏃‍♀️‍➡️ Run LangGraph API server in development mode with hot reloading and debugging support",
@@ -742,8 +766,20 @@ def dev(
742
766
  allow_blocking: bool,
743
767
  tunnel: bool,
744
768
  server_log_level: str,
769
+ ssl_certfile: pathlib.Path | None,
770
+ ssl_keyfile: pathlib.Path | None,
745
771
  ):
746
772
  """CLI entrypoint for running the LangGraph API server."""
773
+ if (ssl_certfile is None) != (ssl_keyfile is None):
774
+ raise click.UsageError(
775
+ "Both --ssl-certfile and --ssl-keyfile must be provided to enable HTTPS."
776
+ )
777
+
778
+ if ssl_certfile and ssl_keyfile and tunnel:
779
+ raise click.UsageError(
780
+ "Cannot use --tunnel with SSL options. Please choose either to serve over HTTPS or to expose via a tunnel, but not both."
781
+ )
782
+
747
783
  try:
748
784
  from langgraph_api.cli import run_server # type: ignore
749
785
  except ImportError:
@@ -814,6 +850,8 @@ def dev(
814
850
  server_level=server_log_level,
815
851
  checkpointer=config_json.get("checkpointer"),
816
852
  disable_persistence=config_json.get("disable_persistence", False),
853
+ ssl_certfile=ssl_certfile,
854
+ ssl_keyfile=ssl_keyfile,
817
855
  )
818
856
 
819
857
 
@@ -320,6 +320,31 @@ def test_top_level_help_truncates_command_descriptions_to_single_line() -> None:
320
320
  assert "[Beta] List LangSmith Deployments." in deploy_list_line
321
321
 
322
322
 
323
+ def test_dev_command_requires_ssl_certfile_and_keyfile_together(tmp_path) -> None:
324
+ config_path = tmp_path / "langgraph.json"
325
+ config_path.write_text(
326
+ json.dumps({"dependencies": [], "graphs": {"agent": "./agent.py:graph"}}),
327
+ encoding="utf-8",
328
+ )
329
+ certfile = tmp_path / "cert.pem"
330
+ certfile.write_text("cert", encoding="utf-8")
331
+
332
+ runner = CliRunner()
333
+ result = runner.invoke(
334
+ cli,
335
+ [
336
+ "dev",
337
+ "--config",
338
+ str(config_path),
339
+ "--ssl-certfile",
340
+ str(certfile),
341
+ ],
342
+ )
343
+
344
+ assert result.exit_code != 0
345
+ assert "Both --ssl-certfile and --ssl-keyfile must be provided" in result.output
346
+
347
+
323
348
  def test_deploy_list_command(monkeypatch) -> None:
324
349
  runner = CliRunner()
325
350
  captured: dict[str, str] = {}
@@ -1 +0,0 @@
1
- __version__ = "0.4.28"
File without changes
File without changes
File without changes
File without changes