mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-07 12:47:55 -10:00
Relocate the async split-pane TUI (async_tui.py) and InteractiveCore (core.py) from the praisonai wrapper into praisonai-code so `pip install praisonai-code` alone yields a full interactive chat/code session with no wrapper required. - Move async_tui.py + core.py impls into praisonai_code.cli.interactive; leave identity-preserving back-compat shims at the old praisonai paths (plus config/events shims so isinstance/monkeypatch hold across paths). - Drop the hard-fail in chat.py; route interactive chat to the resident AsyncTUI. Route interactive code to a resident AsyncTUI path (_run_resident_code) when the wrapper is absent, keeping the richer legacy dispatch when it is installed. - Convert lazy wrapper-only imports (_async_bridge, integration.context_files) to _wrapper_bridge with graceful fallback so no `praisonai` import remains in the interactive package. - Extend scripts/check_c7_imports.sh to gate interactive async_tui/core at module load; C7 gate now reports 0 wrapper import lines. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: MervinPraison <[email protected]>