systemr-cli 2.3.1__tar.gz → 2.3.3__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.3}/PKG-INFO +1 -1
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/__init__.py +1 -1
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/chat_commands.py +13 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/pyproject.toml +1 -1
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/.gitignore +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/DESIGN.md +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/README.md +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/clawhub/systemr-trading/SKILL.md +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/clawhub/systemr-trading/scripts/mcp_stdio_proxy.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/__main__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/auth.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/cli.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/client.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/__init__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/auth_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/cron_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/doctor_command.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/eval_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/journal_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/plan_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/risk_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/scan_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/commands/size_commands.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/config.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/confirmation.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/credits.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/cron.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/display/__init__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/display/chat_renderer.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/display/formatters.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/display/tables.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/display/theme.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/hooks.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/logging.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/model_failover.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/orchestrator.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/profile.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/store.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/streaming.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/tool_router.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/neo/types.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/__init__.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_auth.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_chat_helpers.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_chat_renderer.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_cli.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_config.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_confirmation.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_credits.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_cron.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_doctor.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_formatters.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_hooks.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_logging.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_model_failover.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_orchestrator.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_profile.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_store.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_streaming.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_tool_router.py +0 -0
- {systemr_cli-2.3.1 → systemr_cli-2.3.3}/tests/test_types.py +0 -0
|
@@ -221,9 +221,22 @@ 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
|
+
|
|
226
|
+
kb = KeyBindings()
|
|
227
|
+
|
|
228
|
+
@kb.add("enter")
|
|
229
|
+
def _handle_enter(event):
|
|
230
|
+
"""Only accept Enter if buffer has content. Empty = do nothing."""
|
|
231
|
+
buf = event.current_buffer
|
|
232
|
+
if buf.text.strip():
|
|
233
|
+
buf.validate_and_handle()
|
|
234
|
+
# else: do nothing, cursor stays
|
|
235
|
+
|
|
224
236
|
prompt_session: PromptSession[str] = PromptSession(
|
|
225
237
|
history=FileHistory(str(history_file)),
|
|
226
238
|
auto_suggest=AutoSuggestFromHistory(),
|
|
239
|
+
key_bindings=kb,
|
|
227
240
|
)
|
|
228
241
|
|
|
229
242
|
# 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
|