Unify chat.py and conversation.py into single implementation
CRITICAL FIX: chat.py had TWO execution paths causing inconsistent behavior: 1. Tool calling (correct) - used centralized command_patterns 2. Legacy JSON command parsing (broken) - bypassed SysadminTools This caused macha-chat to fail SSH connections while macha-ask worked. Changes: - Rewrote chat.py to use ONLY tool-calling architecture - All commands now go through SysadminTools.execute_command() - SSH commands use centralized command_patterns.py - conversation.py is now a lightweight wrapper for compatibility - Both macha-chat and macha-ask use the same code path - Updated module.nix to call chat.py directly Benefits: - Consistent behavior between macha-chat and macha-ask - Single execution path = easier to maintain - All SSH commands use explicit key paths - No more password prompts Fixes: - SSH from macha-chat now works correctly - Both interfaces use centralized command patterns
This commit is contained in:
@@ -507,7 +507,7 @@ print('='*60)
|
||||
"
|
||||
'')
|
||||
|
||||
# Tool to ask Macha questions
|
||||
# Tool to ask Macha questions (unified with macha-chat, uses ask_main entry point)
|
||||
(pkgs.writeScriptBin "macha-ask" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
@@ -515,7 +515,8 @@ print('='*60)
|
||||
echo "Example: macha-ask Why did you recommend restarting that service?"
|
||||
exit 1
|
||||
fi
|
||||
sudo -u ${cfg.user} ${pkgs.coreutils}/bin/env CHROMA_ENV_FILE="" ANONYMIZED_TELEMETRY="False" ${pythonEnv}/bin/python3 ${./.}/conversation.py "$@"
|
||||
# Run as macha user with ask_main entry point from chat.py
|
||||
sudo -u ${cfg.user} ${pkgs.coreutils}/bin/env PYTHONPATH=${toString ./.} CHROMA_ENV_FILE="" ANONYMIZED_TELEMETRY="False" ${pythonEnv}/bin/python3 -c "from chat import ask_main; ask_main()" "$@"
|
||||
'')
|
||||
|
||||
# Issue tracking CLI
|
||||
|
||||
Reference in New Issue
Block a user