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.
Files changed (61) hide show
  1. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/PKG-INFO +1 -1
  2. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/__init__.py +1 -1
  3. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/chat_commands.py +13 -6
  4. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/pyproject.toml +1 -1
  5. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/.gitignore +0 -0
  6. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/DESIGN.md +0 -0
  7. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/README.md +0 -0
  8. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/clawhub/systemr-trading/SKILL.md +0 -0
  9. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/clawhub/systemr-trading/scripts/mcp_stdio_proxy.py +0 -0
  10. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/__main__.py +0 -0
  11. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/auth.py +0 -0
  12. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/cli.py +0 -0
  13. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/client.py +0 -0
  14. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/__init__.py +0 -0
  15. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/auth_commands.py +0 -0
  16. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/cron_commands.py +0 -0
  17. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/doctor_command.py +0 -0
  18. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/eval_commands.py +0 -0
  19. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/journal_commands.py +0 -0
  20. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/plan_commands.py +0 -0
  21. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/risk_commands.py +0 -0
  22. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/scan_commands.py +0 -0
  23. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/commands/size_commands.py +0 -0
  24. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/config.py +0 -0
  25. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/confirmation.py +0 -0
  26. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/credits.py +0 -0
  27. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/cron.py +0 -0
  28. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/__init__.py +0 -0
  29. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/chat_renderer.py +0 -0
  30. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/formatters.py +0 -0
  31. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/tables.py +0 -0
  32. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/display/theme.py +0 -0
  33. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/hooks.py +0 -0
  34. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/logging.py +0 -0
  35. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/model_failover.py +0 -0
  36. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/orchestrator.py +0 -0
  37. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/profile.py +0 -0
  38. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/store.py +0 -0
  39. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/streaming.py +0 -0
  40. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/tool_router.py +0 -0
  41. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/neo/types.py +0 -0
  42. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/__init__.py +0 -0
  43. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_auth.py +0 -0
  44. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_chat_helpers.py +0 -0
  45. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_chat_renderer.py +0 -0
  46. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_cli.py +0 -0
  47. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_config.py +0 -0
  48. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_confirmation.py +0 -0
  49. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_credits.py +0 -0
  50. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_cron.py +0 -0
  51. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_doctor.py +0 -0
  52. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_formatters.py +0 -0
  53. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_hooks.py +0 -0
  54. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_logging.py +0 -0
  55. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_model_failover.py +0 -0
  56. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_orchestrator.py +0 -0
  57. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_profile.py +0 -0
  58. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_store.py +0 -0
  59. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_streaming.py +0 -0
  60. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_tool_router.py +0 -0
  61. {systemr_cli-2.3.2 → systemr_cli-2.3.4}/tests/test_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: systemr-cli
3
- Version: 2.3.2
3
+ Version: 2.3.4
4
4
  Summary: System R AI — trading operating system for agents
5
5
  Author-email: System R AI <ashim@systemr.ai>
6
6
  License-Expression: MIT
@@ -1,3 +1,3 @@
1
1
  """System R CLI — trading operating system in your terminal."""
2
2
 
3
- __version__ = "2.3.2"
3
+ __version__ = "2.3.4"
@@ -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", 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
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)),
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "systemr-cli"
7
- version = "2.3.2"
7
+ version = "2.3.4"
8
8
  description = "System R AI — trading operating system for agents"
9
9
  readme = "README.md"
10
10
  license = "MIT"
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