fix(localagent): keep the SDK constraint installable across 0.7.x

LocalAgent declared langbot-plugin>=0.7.18, and the published 0.2.2 artifact
pinned langbot-plugin==0.7.16. The plugin runtime rejects any SDK requirement
its own SDK version does not satisfy, so both directions were dead ends: 4.11.4
(SDK 0.7.19) could not install the published build, and a 0.7.18 floor would
have locked out 4.11.2/4.11.3 (SDK 0.7.16) from the next one.

Use a bounded range from the 4.11.2 baseline instead, matching every other
official Runner and KnowledgeEngine plugin. Verified on SDK 0.7.16 and 0.7.19:
327 tests pass on both, including the runtime dependency admission contract.

Co-authored-by: multica-agent <[email protected]>
This commit is contained in:
Chin Rock
2026-10-29 15:48:06 +00:00
co-authored by multica-agent
parent 3ac4eef3ec
commit 75e1630550
5 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ kind: Plugin
metadata:
author: langbot-team
name: LocalAgent
version: 0.2.3
version: 0.2.4
repository: https://github.com/langbot-app/LangBot/tree/master/plugins/Runner/LocalAgent
label:
en_US: Local Agent
+2 -2
View File
@@ -1,11 +1,11 @@
[project]
name = "langbot-local-agent"
version = "0.2.3"
version = "0.2.4"
description = "Built-in agent with model fallback, tools, and knowledge retrieval"
requires-python = ">=3.11,<4.0"
dependencies = [
"pydantic>=2.0.0",
"langbot-plugin>=0.7.18",
"langbot-plugin>=0.7.16,<0.8",
]
[project.optional-dependencies]
+1 -1
View File
@@ -1,2 +1,2 @@
langbot-plugin>=0.7.18
langbot-plugin>=0.7.16,<0.8
pydantic>=2.0.0
@@ -22,15 +22,15 @@ def _sdk_requirements():
def test_project_and_packaged_sdk_constraints_match():
project, packaged = _sdk_requirements()
assert project.specifier == packaged.specifier
assert str(project.specifier) == ">=0.7.18"
assert str(project.specifier) == "<0.8,>=0.7.16"
@pytest.mark.parametrize("version", ["0.7.18", "0.7.19", "0.8.0", "1.0.0"])
@pytest.mark.parametrize("version", ["0.7.16", "0.7.17", "0.7.18", "0.7.19"])
def test_sdk_constraints_accept_stable_releases_from_minimum(version):
assert all(requirement.specifier.contains(version) for requirement in _sdk_requirements())
@pytest.mark.parametrize("version", ["0.7.16", "0.7.17"])
@pytest.mark.parametrize("version", ["0.7.4", "0.7.15", "0.8.0", "1.0.0"])
def test_sdk_constraints_reject_older_releases(version):
assert not any(requirement.specifier.contains(version) for requirement in _sdk_requirements())
+1 -1
View File
@@ -36,7 +36,7 @@
},
{
"id": "langbot-team/LocalAgent",
"version": "0.2.3",
"version": "0.2.4",
"category": "Runner",
"path": "Runner/LocalAgent",
"repository": "https://github.com/langbot-app/LangBot/tree/master/plugins/Runner/LocalAgent"