comate-cli 0.1.3__tar.gz → 0.1.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 (76) hide show
  1. {comate_cli-0.1.3 → comate_cli-0.1.4}/PKG-INFO +1 -1
  2. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/preflight.py +1 -3
  3. {comate_cli-0.1.3 → comate_cli-0.1.4}/pyproject.toml +1 -1
  4. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_preflight.py +33 -0
  5. {comate_cli-0.1.3 → comate_cli-0.1.4}/.gitignore +0 -0
  6. {comate_cli-0.1.3 → comate_cli-0.1.4}/README.md +0 -0
  7. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/__init__.py +0 -0
  8. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/__main__.py +0 -0
  9. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/main.py +0 -0
  10. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/__init__.py +0 -0
  11. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/animations.py +0 -0
  12. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/app.py +0 -0
  13. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/assistant_render.py +0 -0
  14. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/env_utils.py +0 -0
  15. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/error_display.py +0 -0
  16. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/event_renderer.py +0 -0
  17. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/fragment_utils.py +0 -0
  18. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/history_printer.py +0 -0
  19. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/input_geometry.py +0 -0
  20. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/layout_coordinator.py +0 -0
  21. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/logging_adapter.py +0 -0
  22. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/logo.py +0 -0
  23. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/markdown_render.py +0 -0
  24. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/mention_completer.py +0 -0
  25. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/message_style.py +0 -0
  26. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/models.py +0 -0
  27. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/question_view.py +0 -0
  28. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/resume_selector.py +0 -0
  29. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/rewind_store.py +0 -0
  30. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/rpc_protocol.py +0 -0
  31. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/rpc_stdio.py +0 -0
  32. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/selection_menu.py +0 -0
  33. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/session_view.py +0 -0
  34. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/slash_commands.py +0 -0
  35. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/startup.py +0 -0
  36. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/status_bar.py +0 -0
  37. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/text_effects.py +0 -0
  38. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tool_view.py +0 -0
  39. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui.py +0 -0
  40. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/__init__.py +0 -0
  41. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/commands.py +0 -0
  42. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/history_sync.py +0 -0
  43. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/input_behavior.py +0 -0
  44. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/key_bindings.py +0 -0
  45. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/render_panels.py +0 -0
  46. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/slash_command_registry.py +0 -0
  47. {comate_cli-0.1.3 → comate_cli-0.1.4}/comate_cli/terminal_agent/tui_parts/ui_mode.py +0 -0
  48. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/conftest.py +0 -0
  49. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_app_preflight_gate.py +0 -0
  50. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_app_shutdown.py +0 -0
  51. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_app_usage_line.py +0 -0
  52. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_cli_project_root.py +0 -0
  53. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_compact_command_semantics.py +0 -0
  54. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_completion_status_panel.py +0 -0
  55. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_context_command.py +0 -0
  56. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_event_renderer.py +0 -0
  57. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_history_sync.py +0 -0
  58. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_input_behavior.py +0 -0
  59. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_layout_coordinator.py +0 -0
  60. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_main_args.py +0 -0
  61. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_mention_completer.py +0 -0
  62. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_question_view.py +0 -0
  63. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_resume_selector.py +0 -0
  64. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_rewind_command_semantics.py +0 -0
  65. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_rewind_store.py +0 -0
  66. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_rpc_protocol.py +0 -0
  67. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_rpc_stdio_bridge.py +0 -0
  68. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_selection_menu.py +0 -0
  69. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_slash_completer.py +0 -0
  70. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_slash_registry.py +0 -0
  71. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_status_bar.py +0 -0
  72. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_tool_view.py +0 -0
  73. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_tui_mcp_init_gate.py +0 -0
  74. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_tui_paste_placeholder.py +0 -0
  75. {comate_cli-0.1.3 → comate_cli-0.1.4}/tests/test_tui_split_invariance.py +0 -0
  76. {comate_cli-0.1.3 → comate_cli-0.1.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comate-cli
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Comate terminal CLI built on comate-agent-sdk
5
5
  Project-URL: Homepage, https://github.com/AndyLee1024/agent-sdk
6
6
  Project-URL: Repository, https://github.com/AndyLee1024/agent-sdk
@@ -554,7 +554,6 @@ class _PreflightWizard:
554
554
  kb = KeyBindings()
555
555
 
556
556
  @kb.add("up")
557
- @kb.add("k")
558
557
  def _on_up(event) -> None:
559
558
  del event
560
559
  if self._mode != "selection":
@@ -564,7 +563,6 @@ class _PreflightWizard:
564
563
  self._invalidate()
565
564
 
566
565
  @kb.add("down")
567
- @kb.add("j")
568
566
  def _on_down(event) -> None:
569
567
  del event
570
568
  if self._mode != "selection":
@@ -954,7 +952,7 @@ class _PreflightWizard:
954
952
  title=f"Enter API key for {provider.title()}",
955
953
  label="api_key",
956
954
  initial_value="",
957
- secret=True,
955
+ secret=False,
958
956
  allow_empty=False,
959
957
  on_submit=lambda text, _provider=provider: self._on_api_key_submitted(_provider, text),
960
958
  cancel_detail="key_cancelled",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "comate-cli"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  description = "Comate terminal CLI built on comate-agent-sdk"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -6,6 +6,8 @@ import unittest
6
6
  from pathlib import Path
7
7
  from unittest.mock import AsyncMock, patch
8
8
 
9
+ from prompt_toolkit.layout.processors import PasswordProcessor
10
+
9
11
  from comate_cli.terminal_agent.preflight import (
10
12
  PROVIDER_PRESETS,
11
13
  LevelConfigDraft,
@@ -364,6 +366,37 @@ class TestPreflightWizard(unittest.TestCase):
364
366
  wizard._prepare_key_collection()
365
367
  self.assertEqual(wizard._providers_need_key, ["anthropic"])
366
368
 
369
+ def test_wizard_does_not_bind_jk_navigation(self) -> None:
370
+ wizard = self._build_wizard()
371
+ self.assertIsNotNone(wizard._app)
372
+ bindings = wizard._app.key_bindings.bindings if wizard._app is not None else []
373
+
374
+ single_keys: set[str] = set()
375
+ for binding in bindings:
376
+ if len(binding.keys) != 1:
377
+ continue
378
+ key = binding.keys[0]
379
+ value = getattr(key, "value", None)
380
+ name = value if isinstance(value, str) else str(key)
381
+ single_keys.add(name.lower())
382
+
383
+ self.assertIn("up", single_keys)
384
+ self.assertIn("down", single_keys)
385
+ self.assertNotIn("j", single_keys)
386
+ self.assertNotIn("k", single_keys)
387
+
388
+ def test_api_key_input_is_not_masked(self) -> None:
389
+ wizard = self._build_wizard()
390
+ wizard._providers_need_key = ["anthropic"]
391
+ wizard._next_key_index = 0
392
+
393
+ wizard._open_next_key_input()
394
+
395
+ self.assertIsNotNone(wizard._active_input_area)
396
+ self.assertIsNotNone(wizard._active_input_area.window.content)
397
+ processors = wizard._active_input_area.window.content.input_processors
398
+ self.assertFalse(any(isinstance(processor, PasswordProcessor) for processor in processors))
399
+
367
400
 
368
401
  class TestPreflightRunFlow(unittest.IsolatedAsyncioTestCase):
369
402
  async def test_run_preflight_propagates_wizard_cancel_detail(self) -> None:
File without changes
File without changes
File without changes
File without changes