comate-cli 0.2.6__tar.gz → 0.2.9__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.2.6 → comate_cli-0.2.9}/PKG-INFO +1 -1
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/event_renderer.py +3 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/pyproject.toml +1 -1
- {comate_cli-0.2.6 → comate_cli-0.2.9}/uv.lock +13 -35
- {comate_cli-0.2.6 → comate_cli-0.2.9}/.gitignore +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/README.md +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/__init__.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/__main__.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/main.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/mcp_cli.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/__init__.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/animations.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/app.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/assistant_render.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/custom_slash_commands.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/env_utils.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/error_display.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/fragment_utils.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/history_printer.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/input_geometry.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/layout_coordinator.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/logging_adapter.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/logo.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/markdown_render.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/mention_completer.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/message_style.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/models.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/preflight.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/question_view.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/resume_selector.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/rewind_store.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/rpc_protocol.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/rpc_stdio.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/selection_menu.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/session_view.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/slash_commands.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/startup.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/status_bar.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/text_effects.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tips.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tool_view.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/__init__.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/commands.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/history_sync.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/input_behavior.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/key_bindings.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/render_panels.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/slash_command_registry.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/ui_mode.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/conftest.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_mcp_preload.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_preflight_gate.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_shutdown.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_usage_line.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_cli_project_root.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_compact_command_semantics.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_completion_context_activation.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_completion_status_panel.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_context_command.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_custom_slash_commands.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_event_renderer.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_history_sync.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_input_behavior.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_interrupt_exit_semantics.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_layout_coordinator.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_logging_adapter.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_logo.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_main_args.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_mcp_cli.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_mcp_slash_command.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_mention_completer.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_preflight.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_preflight_copilot.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_question_key_bindings.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_question_view.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_resume_selector.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rewind_command_semantics.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rewind_store.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rpc_protocol.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rpc_stdio_bridge.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_selection_menu.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_skills_slash_command.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_slash_argument_hint.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_slash_completer.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_slash_registry.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_status_bar.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_panel_format.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_panel_key_bindings.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_panel_rendering.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_poll.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tool_view.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_elapsed_status.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_mcp_init_gate.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_paste_placeholder.py +0 -0
- {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_split_invariance.py +0 -0
|
@@ -790,6 +790,9 @@ class EventRenderer:
|
|
|
790
790
|
return
|
|
791
791
|
|
|
792
792
|
# All completed: hide panel and write a summary entry once.
|
|
793
|
+
# 守卫:_current_tasks 已空说明完成总结已写过,跳过重复写入
|
|
794
|
+
if not self._current_tasks:
|
|
795
|
+
return
|
|
793
796
|
started = self._task_started_at_monotonic
|
|
794
797
|
elapsed_suffix = ""
|
|
795
798
|
if started is not None:
|
|
@@ -364,7 +364,7 @@ wheels = [
|
|
|
364
364
|
|
|
365
365
|
[[package]]
|
|
366
366
|
name = "comate-agent-sdk"
|
|
367
|
-
version = "0.2.
|
|
367
|
+
version = "0.2.8"
|
|
368
368
|
source = { editable = "../../" }
|
|
369
369
|
dependencies = [
|
|
370
370
|
{ name = "aiohttp" },
|
|
@@ -373,6 +373,7 @@ dependencies = [
|
|
|
373
373
|
{ name = "beautifulsoup4" },
|
|
374
374
|
{ name = "curl-cffi" },
|
|
375
375
|
{ name = "dotenv" },
|
|
376
|
+
{ name = "filelock" },
|
|
376
377
|
{ name = "google-genai" },
|
|
377
378
|
{ name = "httpx" },
|
|
378
379
|
{ name = "json-repair" },
|
|
@@ -380,7 +381,6 @@ dependencies = [
|
|
|
380
381
|
{ name = "markdownify" },
|
|
381
382
|
{ name = "mcp" },
|
|
382
383
|
{ name = "openai" },
|
|
383
|
-
{ name = "pandoc" },
|
|
384
384
|
{ name = "pydantic" },
|
|
385
385
|
{ name = "pyyaml" },
|
|
386
386
|
{ name = "questionary" },
|
|
@@ -397,6 +397,7 @@ requires-dist = [
|
|
|
397
397
|
{ name = "beautifulsoup4", specifier = "==4.14.3" },
|
|
398
398
|
{ name = "curl-cffi", specifier = "==0.13.0" },
|
|
399
399
|
{ name = "dotenv", specifier = "==0.9.9" },
|
|
400
|
+
{ name = "filelock", specifier = ">=3.16.0" },
|
|
400
401
|
{ name = "google-genai", specifier = "==1.60.0" },
|
|
401
402
|
{ name = "google-genai", marker = "extra == 'google'", specifier = "==1.60.0" },
|
|
402
403
|
{ name = "httpx", specifier = "==0.28.1" },
|
|
@@ -407,7 +408,6 @@ requires-dist = [
|
|
|
407
408
|
{ name = "mcp", specifier = "==1.26.0" },
|
|
408
409
|
{ name = "openai", specifier = "==2.16.0" },
|
|
409
410
|
{ name = "openai", marker = "extra == 'openai'", specifier = "==2.16.0" },
|
|
410
|
-
{ name = "pandoc", specifier = "==2.4" },
|
|
411
411
|
{ name = "pydantic", specifier = "==2.12.5" },
|
|
412
412
|
{ name = "pyyaml", specifier = "==6.0.3" },
|
|
413
413
|
{ name = "questionary", specifier = "==2.1.1" },
|
|
@@ -429,7 +429,7 @@ dev = [
|
|
|
429
429
|
|
|
430
430
|
[[package]]
|
|
431
431
|
name = "comate-cli"
|
|
432
|
-
version = "0.2.
|
|
432
|
+
version = "0.2.7"
|
|
433
433
|
source = { editable = "." }
|
|
434
434
|
dependencies = [
|
|
435
435
|
{ name = "comate-agent-sdk" },
|
|
@@ -561,6 +561,15 @@ wheels = [
|
|
|
561
561
|
{ url = "https://files.pythonhosted.org/packages/b2/b7/545d2c10c1fc15e48653c91efde329a790f2eecfbbf2bd16003b5db2bab0/dotenv-0.9.9-py2.py3-none-any.whl", hash = "sha256:29cf74a087b31dafdb5a446b6d7e11cbce8ed2741540e2339c69fbef92c94ce9", size = 1892, upload-time = "2025-02-19T22:15:01.647Z" },
|
|
562
562
|
]
|
|
563
563
|
|
|
564
|
+
[[package]]
|
|
565
|
+
name = "filelock"
|
|
566
|
+
version = "3.25.2"
|
|
567
|
+
source = { registry = "https://pypi.org/simple" }
|
|
568
|
+
sdist = { url = "https://files.pythonhosted.org/packages/94/b8/00651a0f559862f3bb7d6f7477b192afe3f583cc5e26403b44e59a55ab34/filelock-3.25.2.tar.gz", hash = "sha256:b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694", size = 40480, upload-time = "2026-03-11T20:45:38.487Z" }
|
|
569
|
+
wheels = [
|
|
570
|
+
{ url = "https://files.pythonhosted.org/packages/a4/a5/842ae8f0c08b61d6484b52f99a03510a3a72d23141942d216ebe81fefbce/filelock-3.25.2-py3-none-any.whl", hash = "sha256:ca8afb0da15f229774c9ad1b455ed96e85a81373065fb10446672f64444ddf70", size = 26759, upload-time = "2026-03-11T20:45:37.437Z" },
|
|
571
|
+
]
|
|
572
|
+
|
|
564
573
|
[[package]]
|
|
565
574
|
name = "frozenlist"
|
|
566
575
|
version = "1.8.0"
|
|
@@ -1104,16 +1113,6 @@ wheels = [
|
|
|
1104
1113
|
{ url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
|
|
1105
1114
|
]
|
|
1106
1115
|
|
|
1107
|
-
[[package]]
|
|
1108
|
-
name = "pandoc"
|
|
1109
|
-
version = "2.4"
|
|
1110
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1111
|
-
dependencies = [
|
|
1112
|
-
{ name = "plumbum" },
|
|
1113
|
-
{ name = "ply" },
|
|
1114
|
-
]
|
|
1115
|
-
sdist = { url = "https://files.pythonhosted.org/packages/10/9a/e3186e760c57ee5f1c27ea5cea577a0ff9abfca51eefcb4d9a4cd39aff2e/pandoc-2.4.tar.gz", hash = "sha256:ecd1f8cbb7f4180c6b5db4a17a7c1a74df519995f5f186ef81ce72a9cbd0dd9a", size = 34635, upload-time = "2024-08-07T14:33:58.016Z" }
|
|
1116
|
-
|
|
1117
1116
|
[[package]]
|
|
1118
1117
|
name = "pillow"
|
|
1119
1118
|
version = "12.1.1"
|
|
@@ -1210,27 +1209,6 @@ wheels = [
|
|
|
1210
1209
|
{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
|
|
1211
1210
|
]
|
|
1212
1211
|
|
|
1213
|
-
[[package]]
|
|
1214
|
-
name = "plumbum"
|
|
1215
|
-
version = "1.10.0"
|
|
1216
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1217
|
-
dependencies = [
|
|
1218
|
-
{ name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
|
|
1219
|
-
]
|
|
1220
|
-
sdist = { url = "https://files.pythonhosted.org/packages/dc/c8/11a5f792704b70f071a3dbc329105a98e9cc8d25daaf09f733c44eb0ef8e/plumbum-1.10.0.tar.gz", hash = "sha256:f8cbf0ecec0b73ff4e349398b65112a9e3f9300e7dc019001217dcc148d5c97c", size = 320039, upload-time = "2025-10-31T05:02:48.697Z" }
|
|
1221
|
-
wheels = [
|
|
1222
|
-
{ url = "https://files.pythonhosted.org/packages/79/ad/45312df6b63ba64ea35b8d8f5f0c577aac16e6b416eafe8e1cb34e03f9a7/plumbum-1.10.0-py3-none-any.whl", hash = "sha256:9583d737ac901c474d99d030e4d5eec4c4e6d2d7417b1cf49728cf3be34f6dc8", size = 127383, upload-time = "2025-10-31T05:02:47.002Z" },
|
|
1223
|
-
]
|
|
1224
|
-
|
|
1225
|
-
[[package]]
|
|
1226
|
-
name = "ply"
|
|
1227
|
-
version = "3.11"
|
|
1228
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1229
|
-
sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" }
|
|
1230
|
-
wheels = [
|
|
1231
|
-
{ url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" },
|
|
1232
|
-
]
|
|
1233
|
-
|
|
1234
1212
|
[[package]]
|
|
1235
1213
|
name = "prompt-toolkit"
|
|
1236
1214
|
version = "3.0.52"
|
|
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
|
{comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/slash_command_registry.py
RENAMED
|
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
|