From f629f68ec3ff7ce38b46b2cc887fd93b9dfcea3b Mon Sep 17 00:00:00 2001 From: Tat Dat Duong Date: Fri, 28 Mar 2025 23:05:04 +0100 Subject: [PATCH] feat(cli): add support for gen ui config --- libs/cli/langgraph_cli/config.py | 3 +++ libs/cli/pyproject.toml | 2 +- libs/cli/tests/unit_tests/test_config.py | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/cli/langgraph_cli/config.py b/libs/cli/langgraph_cli/config.py index cd5049db6..39ba9c23e 100644 --- a/libs/cli/langgraph_cli/config.py +++ b/libs/cli/langgraph_cli/config.py @@ -405,6 +405,7 @@ def validate_config(config: Config) -> Config: "auth": config.get("auth"), "http": config.get("http"), "ui": config.get("ui"), + "ui_config": config.get("ui_config"), } if config.get("node_version") else { @@ -418,6 +419,7 @@ def validate_config(config: Config) -> Config: "auth": config.get("auth"), "http": config.get("http"), "ui": config.get("ui"), + "ui_config": config.get("ui_config"), } ) @@ -1098,6 +1100,7 @@ RUN cd {faux_path} && {install_cmd} {env_additional_config} ENV LANGSERVE_GRAPHS='{json.dumps(config["graphs"])}' {f"ENV LANGGRAPH_UI='{json.dumps(config['ui'])}'" if config.get("ui") else ""} +{f"ENV LANGGRAPH_UI_CONFIG='{json.dumps(config['ui_config'])}'" if config.get("ui_config") else ""} WORKDIR {faux_path} diff --git a/libs/cli/pyproject.toml b/libs/cli/pyproject.toml index 72c59cade..31b6f1b69 100644 --- a/libs/cli/pyproject.toml +++ b/libs/cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "langgraph-cli" -version = "0.1.80" +version = "0.1.81" description = "CLI for interacting with LangGraph API" authors = [] license = "MIT" diff --git a/libs/cli/tests/unit_tests/test_config.py b/libs/cli/tests/unit_tests/test_config.py index 397fca031..981b481b4 100644 --- a/libs/cli/tests/unit_tests/test_config.py +++ b/libs/cli/tests/unit_tests/test_config.py @@ -34,6 +34,7 @@ def test_validate_config(): "auth": None, "http": None, "ui": None, + "ui_config": None, **expected_config, } actual_config = validate_config(expected_config) @@ -54,6 +55,7 @@ def test_validate_config(): "auth": None, "http": None, "ui": None, + "ui_config": None, } actual_config = validate_config(expected_config) assert actual_config == expected_config @@ -470,6 +472,7 @@ def test_config_to_docker_nodejs(): "graphs": graphs, "dockerfile_lines": ["ARG meow", "ARG foo"], "ui": {"agent": "./graphs/agent.ui.jsx"}, + "ui_config": {"shared": ["nuqs"]}, } ), "langchain/langgraphjs-api", @@ -481,6 +484,7 @@ ADD . /deps/unit_tests RUN cd /deps/unit_tests && npm i ENV LANGSERVE_GRAPHS='{"agent": "./graphs/agent.js:graph"}' ENV LANGGRAPH_UI='{"agent": "./graphs/agent.ui.jsx"}' +ENV LANGGRAPH_UI_CONFIG='{"shared": ["nuqs"]}' WORKDIR /deps/unit_tests RUN (test ! -f /api/langgraph_api/js/build.mts && echo "Prebuild script not found, skipping") || tsx /api/langgraph_api/js/build.mts"""