systemr-cli 2.3.1__tar.gz → 2.3.2__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.1 → systemr_cli-2.3.2}/PKG-INFO +1 -1
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/__init__.py +1 -1
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/chat_commands.py +12 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/pyproject.toml +1 -1
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/.gitignore +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/DESIGN.md +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/README.md +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/clawhub/systemr-trading/SKILL.md +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/clawhub/systemr-trading/scripts/mcp_stdio_proxy.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/__main__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/auth.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/cli.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/client.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/__init__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/auth_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/cron_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/doctor_command.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/eval_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/journal_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/plan_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/risk_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/scan_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/commands/size_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/config.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/confirmation.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/credits.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/cron.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/display/__init__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/display/chat_renderer.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/display/formatters.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/display/tables.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/display/theme.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/hooks.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/logging.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/model_failover.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/orchestrator.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/profile.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/store.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/streaming.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/tool_router.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/neo/types.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/__init__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_auth.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_chat_helpers.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_chat_renderer.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_cli.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_config.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_confirmation.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_credits.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_cron.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_doctor.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_formatters.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_hooks.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_logging.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_model_failover.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_orchestrator.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_profile.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_store.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_streaming.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_tool_router.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.2}/tests/test_types.py +0 -0
|
@@ -221,9 +221,21 @@ 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
|
+
from prompt_toolkit.key_binding import KeyBindings
|
|
225
|
+
from prompt_toolkit.filters import Condition
|
|
226
|
+
|
|
227
|
+
# Custom key binding: Enter on empty buffer does nothing
|
|
228
|
+
kb = KeyBindings()
|
|
229
|
+
|
|
230
|
+
@kb.add("enter", filter=Condition(lambda: not prompt_session.default_buffer.text.strip()))
|
|
231
|
+
def _ignore_empty_enter(event):
|
|
232
|
+
"""Swallow Enter when input is empty — no new line, no movement."""
|
|
233
|
+
pass
|
|
234
|
+
|
|
224
235
|
prompt_session: PromptSession[str] = PromptSession(
|
|
225
236
|
history=FileHistory(str(history_file)),
|
|
226
237
|
auto_suggest=AutoSuggestFromHistory(),
|
|
238
|
+
key_bindings=kb,
|
|
227
239
|
)
|
|
228
240
|
|
|
229
241
|
# Broker state (will be dynamic when broker connection is implemented)
|
|
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
|