Repository navigation
v1.0.21
Fixed
SootheConfignow exposes asecret_resolverproperty (resolving${ENV_VAR}via the shared_resolve_envhelper), soMCPRegistryconstruction in the daemon (server/core.py) and the per-thread runner (runner/_thread_manager.py) no longer raisesAttributeError: 'SootheConfig' object has no attribute 'secret_resolver'— the error that left the MCP registry empty and gave the agent zero tools.fetch_tools_and_descriptorsis now async and awaitsclient.get_tools(...)when it returns a coroutine (langchain-mcp-adapters0.3.x), instead of iterating the coroutine as a list. Previously every MCP server logged'coroutine' object is not iterable, the coroutine was never awaited, and zero tools loaded despiteInitialized: N connected, 0 failed.
Changed
- Upgraded langchain ecosystem pins to latest stable:
langchain1.4.4,langchain-core1.6.9,langchain-mcp-adapters0.3.2 (pin widened from<0.3.1to<0.4.0— 0.3.0 caused the asyncget_toolsregression in #22),langchain-openai1.7.0 (0.x→1.x),langchain-community0.4.2,langgraph1.2.14,mcp1.30.langchain-typesafe[experimental]bumped to>=0.0.1a3. - Adapted the three TypeSafe decision modules (
risk_classifier,typesafe_intent,typesafe_eval_decision) tolangchain-typesafe0.0.1a3:TypeSafeClassifierno longer binds questions at construction — they travel per-request viaClassifierRequest— and the response field is.answers(was.choices).build_typesafe_classifierdrops thequestionsparam. - Bump
soothe-nanofloor to 1.3.3 (pulls in thesecret_resolverproperty + asyncget_toolsfixes for #22).
Full changelog: v1.0.20...v1.0.21