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.
Files changed (96) hide show
  1. {comate_cli-0.2.6 → comate_cli-0.2.9}/PKG-INFO +1 -1
  2. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/event_renderer.py +3 -0
  3. {comate_cli-0.2.6 → comate_cli-0.2.9}/pyproject.toml +1 -1
  4. {comate_cli-0.2.6 → comate_cli-0.2.9}/uv.lock +13 -35
  5. {comate_cli-0.2.6 → comate_cli-0.2.9}/.gitignore +0 -0
  6. {comate_cli-0.2.6 → comate_cli-0.2.9}/README.md +0 -0
  7. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/__init__.py +0 -0
  8. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/__main__.py +0 -0
  9. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/main.py +0 -0
  10. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/mcp_cli.py +0 -0
  11. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/__init__.py +0 -0
  12. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/animations.py +0 -0
  13. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/app.py +0 -0
  14. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/assistant_render.py +0 -0
  15. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/custom_slash_commands.py +0 -0
  16. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/env_utils.py +0 -0
  17. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/error_display.py +0 -0
  18. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/fragment_utils.py +0 -0
  19. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/history_printer.py +0 -0
  20. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/input_geometry.py +0 -0
  21. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/layout_coordinator.py +0 -0
  22. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/logging_adapter.py +0 -0
  23. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/logo.py +0 -0
  24. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/markdown_render.py +0 -0
  25. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/mention_completer.py +0 -0
  26. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/message_style.py +0 -0
  27. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/models.py +0 -0
  28. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/preflight.py +0 -0
  29. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/question_view.py +0 -0
  30. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/resume_selector.py +0 -0
  31. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/rewind_store.py +0 -0
  32. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/rpc_protocol.py +0 -0
  33. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/rpc_stdio.py +0 -0
  34. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/selection_menu.py +0 -0
  35. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/session_view.py +0 -0
  36. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/slash_commands.py +0 -0
  37. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/startup.py +0 -0
  38. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/status_bar.py +0 -0
  39. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/text_effects.py +0 -0
  40. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tips.py +0 -0
  41. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tool_view.py +0 -0
  42. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui.py +0 -0
  43. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/__init__.py +0 -0
  44. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/commands.py +0 -0
  45. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/history_sync.py +0 -0
  46. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/input_behavior.py +0 -0
  47. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/key_bindings.py +0 -0
  48. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/render_panels.py +0 -0
  49. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/slash_command_registry.py +0 -0
  50. {comate_cli-0.2.6 → comate_cli-0.2.9}/comate_cli/terminal_agent/tui_parts/ui_mode.py +0 -0
  51. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/conftest.py +0 -0
  52. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_mcp_preload.py +0 -0
  53. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_preflight_gate.py +0 -0
  54. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_shutdown.py +0 -0
  55. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_app_usage_line.py +0 -0
  56. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_cli_project_root.py +0 -0
  57. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_compact_command_semantics.py +0 -0
  58. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_completion_context_activation.py +0 -0
  59. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_completion_status_panel.py +0 -0
  60. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_context_command.py +0 -0
  61. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_custom_slash_commands.py +0 -0
  62. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_event_renderer.py +0 -0
  63. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_history_sync.py +0 -0
  64. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_input_behavior.py +0 -0
  65. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_interrupt_exit_semantics.py +0 -0
  66. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_layout_coordinator.py +0 -0
  67. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_logging_adapter.py +0 -0
  68. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_logo.py +0 -0
  69. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_main_args.py +0 -0
  70. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_mcp_cli.py +0 -0
  71. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_mcp_slash_command.py +0 -0
  72. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_mention_completer.py +0 -0
  73. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_preflight.py +0 -0
  74. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_preflight_copilot.py +0 -0
  75. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_question_key_bindings.py +0 -0
  76. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_question_view.py +0 -0
  77. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_resume_selector.py +0 -0
  78. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rewind_command_semantics.py +0 -0
  79. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rewind_store.py +0 -0
  80. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rpc_protocol.py +0 -0
  81. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_rpc_stdio_bridge.py +0 -0
  82. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_selection_menu.py +0 -0
  83. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_skills_slash_command.py +0 -0
  84. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_slash_argument_hint.py +0 -0
  85. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_slash_completer.py +0 -0
  86. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_slash_registry.py +0 -0
  87. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_status_bar.py +0 -0
  88. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_panel_format.py +0 -0
  89. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_panel_key_bindings.py +0 -0
  90. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_panel_rendering.py +0 -0
  91. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_task_poll.py +0 -0
  92. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tool_view.py +0 -0
  93. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_elapsed_status.py +0 -0
  94. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_mcp_init_gate.py +0 -0
  95. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_paste_placeholder.py +0 -0
  96. {comate_cli-0.2.6 → comate_cli-0.2.9}/tests/test_tui_split_invariance.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comate-cli
3
- Version: 0.2.6
3
+ Version: 0.2.9
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
@@ -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:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "comate-cli"
7
- version = "0.2.6"
7
+ version = "0.2.9"
8
8
  description = "Comate terminal CLI built on comate-agent-sdk"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -364,7 +364,7 @@ wheels = [
364
364
 
365
365
  [[package]]
366
366
  name = "comate-agent-sdk"
367
- version = "0.2.6"
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.5"
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