systemr-cli 2.3.2__tar.gz → 2.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/PKG-INFO +1 -1
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/__init__.py +1 -1
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/chat_commands.py +13 -6
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/pyproject.toml +1 -1
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/.gitignore +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/DESIGN.md +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/README.md +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/clawhub/systemr-trading/SKILL.md +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/clawhub/systemr-trading/scripts/mcp_stdio_proxy.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/__main__.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/auth.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/cli.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/client.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/__init__.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/auth_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/cron_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/doctor_command.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/eval_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/journal_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/plan_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/risk_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/scan_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/size_commands.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/config.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/confirmation.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/credits.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/cron.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/__init__.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/chat_renderer.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/formatters.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/tables.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/theme.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/hooks.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/logging.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/model_failover.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/orchestrator.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/profile.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/store.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/streaming.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/tool_router.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/types.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/__init__.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_auth.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_chat_helpers.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_chat_renderer.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_cli.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_config.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_confirmation.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_credits.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_cron.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_doctor.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_formatters.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_hooks.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_logging.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_model_failover.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_orchestrator.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_profile.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_store.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_streaming.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_tool_router.py +0 -0
- {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_types.py +0 -0
|
@@ -221,16 +221,23 @@ def chat(ctx: click.Context, model_name: str | None, research: bool, resume: boo
|
|
|
221
221
|
history_file = SYSTEMR_HOME / "chat_history"
|
|
222
222
|
loop = asyncio.new_event_loop()
|
|
223
223
|
|
|
224
|
+
import signal
|
|
224
225
|
from prompt_toolkit.key_binding import KeyBindings
|
|
225
|
-
from prompt_toolkit.filters import Condition
|
|
226
226
|
|
|
227
|
-
# Custom key binding: Enter on empty buffer does nothing
|
|
228
227
|
kb = KeyBindings()
|
|
229
228
|
|
|
230
|
-
@kb.add("enter"
|
|
231
|
-
def
|
|
232
|
-
"""
|
|
233
|
-
|
|
229
|
+
@kb.add("enter")
|
|
230
|
+
def _handle_enter(event):
|
|
231
|
+
"""Only accept Enter if buffer has content. Empty = do nothing."""
|
|
232
|
+
buf = event.current_buffer
|
|
233
|
+
if buf.text.strip():
|
|
234
|
+
buf.validate_and_handle()
|
|
235
|
+
|
|
236
|
+
# Suppress terminal resize redraws — ignore SIGWINCH
|
|
237
|
+
try:
|
|
238
|
+
signal.signal(signal.SIGWINCH, signal.SIG_IGN)
|
|
239
|
+
except (AttributeError, OSError):
|
|
240
|
+
pass # Windows doesn't have SIGWINCH
|
|
234
241
|
|
|
235
242
|
prompt_session: PromptSession[str] = PromptSession(
|
|
236
243
|
history=FileHistory(str(history_file)),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|