fix(render): omit actions from final message (#21)
This commit is contained in:
+1
-10
@@ -184,10 +184,6 @@ def format_action_line(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def is_command_log_line(line: str) -> bool:
|
|
||||||
return any(line.startswith(f"{symbol} `") for symbol in STATUS.values())
|
|
||||||
|
|
||||||
|
|
||||||
def render_event_cli(event: TakopiEvent) -> list[str]:
|
def render_event_cli(event: TakopiEvent) -> list[str]:
|
||||||
match event:
|
match event:
|
||||||
case StartedEvent(engine=engine):
|
case StartedEvent(engine=engine):
|
||||||
@@ -306,13 +302,8 @@ class ExecProgressRenderer:
|
|||||||
label=self.label_with_title(status),
|
label=self.label_with_title(status),
|
||||||
engine=self.engine,
|
engine=self.engine,
|
||||||
)
|
)
|
||||||
lines = [line.text for line in self.lines]
|
|
||||||
if status == "done":
|
|
||||||
lines = [line for line in lines if not is_command_log_line(line)]
|
|
||||||
body = self.assemble_body(lines)
|
|
||||||
answer = (answer or "").strip()
|
answer = (answer or "").strip()
|
||||||
if answer:
|
body = answer if answer else None
|
||||||
body = answer if not body else body + "\n\n" + answer
|
|
||||||
return MarkdownParts(header=header, body=body, footer=self.render_footer())
|
return MarkdownParts(header=header, body=body, footer=self.render_footer())
|
||||||
|
|
||||||
def label_with_title(self, label: str) -> str:
|
def label_with_title(self, label: str) -> str:
|
||||||
|
|||||||
@@ -133,6 +133,8 @@ def test_progress_renderer_renders_progress_and_final() -> None:
|
|||||||
final_parts = r.render_final_parts(3.0, "answer", status="done")
|
final_parts = r.render_final_parts(3.0, "answer", status="done")
|
||||||
final = assemble_markdown_parts(final_parts)
|
final = assemble_markdown_parts(final_parts)
|
||||||
assert final.startswith("done · codex · 3s · step 2")
|
assert final.startswith("done · codex · 3s · step 2")
|
||||||
|
assert "✓ `bash -lc ls`" not in final
|
||||||
|
assert "Checking repository root for README" not in final
|
||||||
assert "answer" in final
|
assert "answer" in final
|
||||||
assert final.rstrip().endswith(
|
assert final.rstrip().endswith(
|
||||||
"`codex resume 0199a213-81c0-7800-8aa1-bbab2a035a53`"
|
"`codex resume 0199a213-81c0-7800-8aa1-bbab2a035a53`"
|
||||||
|
|||||||
Reference in New Issue
Block a user