mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-30 13:35:09 +02:00
cli: rename langgraph.json to langsmith.json
Rename the default config filename from `langgraph.json` to `langsmith.json` as part of the "LangGraph Platform" to "LangSmith Deployment" rebranding. Backward compatibility is preserved: the CLI falls back to `langgraph.json` with a deprecation warning when `langsmith.json` is not found. A new `_resolve_config` callback handles the resolution logic for all `--config` click options. Changes span libs/cli (core logic, examples, tests), libs/sdk-py (docstrings), libs/langgraph (Makefile), and .github CI scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
ae76f33c6d
commit
a99d733bb5
@@ -85,7 +85,7 @@ class TestNormalizeImageTag:
|
||||
|
||||
class TestParseEnvFromConfig:
|
||||
def test_env_dict(self, tmp_path):
|
||||
config_path = tmp_path / "langgraph.json"
|
||||
config_path = tmp_path / "langsmith.json"
|
||||
config_path.touch()
|
||||
result = _parse_env_from_config({"env": {"FOO": "bar", "NUM": 42}}, config_path)
|
||||
assert result == {"FOO": "bar", "NUM": "42"}
|
||||
@@ -93,7 +93,7 @@ class TestParseEnvFromConfig:
|
||||
def test_env_string_dotenv_file(self, tmp_path):
|
||||
env_file = tmp_path / "my.env"
|
||||
env_file.write_text("KEY1=val1\nKEY2=val2\n")
|
||||
config_path = tmp_path / "langgraph.json"
|
||||
config_path = tmp_path / "langsmith.json"
|
||||
config_path.touch()
|
||||
result = _parse_env_from_config({"env": "my.env"}, config_path)
|
||||
assert result == {"KEY1": "val1", "KEY2": "val2"}
|
||||
@@ -102,7 +102,7 @@ class TestParseEnvFromConfig:
|
||||
env_file = tmp_path / ".env"
|
||||
env_file.write_text("DEFAULT_KEY=default_val\n")
|
||||
monkeypatch.chdir(tmp_path)
|
||||
config_path = tmp_path / "langgraph.json"
|
||||
config_path = tmp_path / "langsmith.json"
|
||||
config_path.touch()
|
||||
result = _parse_env_from_config({}, config_path)
|
||||
assert result == {"DEFAULT_KEY": "default_val"}
|
||||
@@ -112,14 +112,14 @@ class TestParseEnvFromConfig:
|
||||
env_file = tmp_path / ".env"
|
||||
env_file.write_text("MY_KEY=my_val\n")
|
||||
monkeypatch.chdir(tmp_path)
|
||||
config_path = tmp_path / "langgraph.json"
|
||||
config_path = tmp_path / "langsmith.json"
|
||||
config_path.touch()
|
||||
result = _parse_env_from_config({"env": {}}, config_path)
|
||||
assert result == {"MY_KEY": "my_val"}
|
||||
|
||||
def test_env_missing_no_dotenv_returns_empty(self, tmp_path, monkeypatch):
|
||||
monkeypatch.chdir(tmp_path)
|
||||
config_path = tmp_path / "langgraph.json"
|
||||
config_path = tmp_path / "langsmith.json"
|
||||
config_path.touch()
|
||||
result = _parse_env_from_config({}, config_path)
|
||||
assert result == {}
|
||||
@@ -128,7 +128,7 @@ class TestParseEnvFromConfig:
|
||||
# Lines like "KEY=" produce empty string, lines like "KEY" produce None
|
||||
env_file = tmp_path / "test.env"
|
||||
env_file.write_text("GOOD=value\nEMPTY=\n")
|
||||
config_path = tmp_path / "langgraph.json"
|
||||
config_path = tmp_path / "langsmith.json"
|
||||
config_path.touch()
|
||||
result = _parse_env_from_config({"env": "test.env"}, config_path)
|
||||
assert "GOOD" in result
|
||||
|
||||
Reference in New Issue
Block a user