Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion nix/tui.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# nix/tui.nix — Hermes TUI (Ink/React) compiled with tsc and bundled
{ pkgs, hermesNpmLib, ... }:
let
npm = hermesNpmLib.mkNpmPassthru { dirs = [ "ui-tui" ]; };
npm = hermesNpmLib.mkNpmPassthru { dirs = [ "ui-tui" "apps/shared" ]; };

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is independent of the Honcho SDK workaround and duplicates the focused Nix repair tracked in #67082. Please split it out so the Honcho compatibility fix can be reviewed and tested independently.


packageJson = builtins.fromJSON (builtins.readFile (npm.src + "/ui-tui/package.json"));
version = packageJson.version;
Expand Down
12 changes: 12 additions & 0 deletions plugins/memory/honcho/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,18 @@
if TYPE_CHECKING:
from honcho import Honcho

# Workaround for issue #67013: newer Honcho servers send fields (like observe_others)
# that the honcho-ai<=2.2.0 SDK strictly rejects. We monkeypatch the Pydantic models
# to ignore extra fields until the upstream SDK is updated on PyPI.
try:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a regression test that parses a representative newer-server payload through the pinned honcho-ai==2.2.0 model. The PR currently changes global Pydantic behavior without coverage of the reported PeerResponse failure.

from honcho.api_types import PeerConfig, PeerResponse
if PeerConfig.model_config.get("extra") == "forbid":
PeerConfig.model_config["extra"] = "ignore"
PeerConfig.model_rebuild(force=True)
PeerResponse.model_rebuild(force=True)
except ImportError:
pass

logger = logging.getLogger(__name__)

# Sentinel to signal the async writer thread to shut down
Expand Down