comate-cli 0.3.4__tar.gz → 0.3.6__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.
- {comate_cli-0.3.4 → comate_cli-0.3.6}/PKG-INFO +1 -1
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/codenames.py +0 -1
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/path_context_hint.py +4 -2
- {comate_cli-0.3.4 → comate_cli-0.3.6}/pyproject.toml +1 -1
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_path_context_hint.py +23 -0
- comate_cli-0.3.6/uv.lock +2231 -0
- comate_cli-0.3.4/uv.lock +0 -2215
- {comate_cli-0.3.4 → comate_cli-0.3.6}/.gitignore +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/README.md +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/__init__.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/__main__.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/main.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/mcp_cli.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/__init__.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/animations.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/app.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/assistant_render.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/custom_slash_commands.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/env_utils.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/error_display.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/event_renderer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/fragment_utils.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/history_printer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/input_geometry.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/layout_coordinator.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/logging_adapter.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/logo.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/markdown_render.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/mention_completer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/message_style.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/models.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/preflight.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/question_view.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/resume_selector.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/rewind_store.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/rpc_protocol.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/rpc_stdio.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/selection_menu.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/session_view.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/slash_commands.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/startup.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/status_bar.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/text_effects.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tips.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tool_view.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/__init__.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/commands.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/history_sync.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/input_behavior.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/key_bindings.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/render_panels.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/slash_command_registry.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/comate_cli/terminal_agent/tui_parts/ui_mode.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/conftest.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_app_mcp_preload.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_app_preflight_gate.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_app_print_mode.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_app_shutdown.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_app_usage_line.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_cli_project_root.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_compact_command_semantics.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_completion_context_activation.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_completion_status_panel.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_context_command.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_custom_slash_commands.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_event_renderer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_format_error.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_handle_error.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_history_printer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_history_sync.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_input_behavior.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_input_history.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_interrupt_exit_semantics.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_layout_coordinator.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_logging_adapter.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_logo.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_main_args.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_mcp_cli.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_mcp_slash_command.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_mention_completer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_preflight.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_preflight_copilot.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_question_key_bindings.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_question_view.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_resume_selector.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_rewind_command_semantics.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_rewind_store.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_rpc_protocol.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_rpc_stdio_bridge.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_selection_menu.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_skills_slash_command.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_slash_argument_hint.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_slash_completer.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_slash_registry.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_status_bar.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_status_bar_transient.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_task_panel_format.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_task_panel_key_bindings.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_task_panel_rendering.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_task_poll.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_tool_view.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_tui_elapsed_status.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_tui_mcp_init_gate.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_tui_paste_placeholder.py +0 -0
- {comate_cli-0.3.4 → comate_cli-0.3.6}/tests/test_tui_split_invariance.py +0 -0
|
@@ -34,9 +34,11 @@ def build_path_context_hint(text: str, project_root: Path) -> str | None:
|
|
|
34
34
|
|
|
35
35
|
try:
|
|
36
36
|
if candidate.is_dir():
|
|
37
|
-
|
|
37
|
+
desc = _describe_dir(raw_path, candidate)
|
|
38
|
+
hint_lines.append(f"{desc} [{candidate}]")
|
|
38
39
|
elif candidate.is_file():
|
|
39
|
-
|
|
40
|
+
desc = _describe_file(raw_path, candidate)
|
|
41
|
+
hint_lines.append(f"{desc} [{candidate}]")
|
|
40
42
|
else:
|
|
41
43
|
# Not found — only include if path looks like a filesystem path
|
|
42
44
|
if "/" in raw_path or "." in raw_path:
|
|
@@ -104,3 +104,26 @@ class TestBuildPathContextHint(unittest.TestCase):
|
|
|
104
104
|
link.symlink_to(target) # target doesn't exist
|
|
105
105
|
hint = build_path_context_hint("check @link.txt", self.root)
|
|
106
106
|
self.assertIn("not found", hint)
|
|
107
|
+
|
|
108
|
+
def test_file_hint_includes_absolute_path(self) -> None:
|
|
109
|
+
"""File hints should include [absolute_path] suffix."""
|
|
110
|
+
f = self.root / "demo.py"
|
|
111
|
+
f.write_text("x\n")
|
|
112
|
+
hint = build_path_context_hint("check @demo.py", self.root)
|
|
113
|
+
expected_abs = str(f.resolve())
|
|
114
|
+
self.assertIn(f"[{expected_abs}]", hint)
|
|
115
|
+
|
|
116
|
+
def test_dir_hint_includes_absolute_path(self) -> None:
|
|
117
|
+
"""Directory hints should include [absolute_path] suffix."""
|
|
118
|
+
d = self.root / "src"
|
|
119
|
+
d.mkdir()
|
|
120
|
+
(d / "a.py").write_text("x")
|
|
121
|
+
hint = build_path_context_hint("check @src/", self.root)
|
|
122
|
+
expected_abs = str(d.resolve())
|
|
123
|
+
self.assertIn(f"[{expected_abs}]", hint)
|
|
124
|
+
|
|
125
|
+
def test_not_found_has_no_absolute_path(self) -> None:
|
|
126
|
+
"""'not found' lines should NOT include [absolute_path] suffix."""
|
|
127
|
+
hint = build_path_context_hint("read @missing.txt", self.root)
|
|
128
|
+
self.assertIn("not found", hint)
|
|
129
|
+
self.assertNotIn("[", hint.split("not found")[1])
|