hexastack-cli 0.7.0__tar.gz → 0.8.0__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 (23) hide show
  1. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/PKG-INFO +1 -1
  2. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/pyproject.toml +1 -1
  3. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/pyproject.toml.orig +1 -1
  4. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/testing/events.py +1 -1
  5. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/testing/narrator.py +2 -1
  6. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/testing/terminal.py +2 -1
  7. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/README.md +0 -0
  8. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/__init__.py +0 -0
  9. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/adapters/__init__.py +0 -0
  10. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/adapters/presenter.py +0 -0
  11. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/adapters/routing.py +0 -0
  12. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/domain/__init__.py +0 -0
  13. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/domain/config.py +0 -0
  14. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/domain/options.py +0 -0
  15. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/__init__.py +0 -0
  16. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/app.py +0 -0
  17. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/autodiscovery.py +0 -0
  18. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/bootstrap.py +0 -0
  19. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/config.py +0 -0
  20. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/decorators.py +0 -0
  21. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/infra/options.py +0 -0
  22. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/py.typed +0 -0
  23. {hexastack_cli-0.7.0 → hexastack_cli-0.8.0}/src/hexastack_cli/testing/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexastack-cli
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: Hexastack CLI presentation adapter with Typer and Rich
5
5
  Author: Richard West
6
6
  Author-email: Richard West <dopplereffect.us@gmail.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hexastack-cli"
3
- version = "0.7.0"
3
+ version = "0.8.0"
4
4
  description = "Hexastack CLI presentation adapter with Typer and Rich"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hexastack-cli"
3
- version = "0.7.0"
3
+ version = "0.8.0"
4
4
  description = "Hexastack CLI presentation adapter with Typer and Rich"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -7,7 +7,7 @@ __all__ = [
7
7
  ]
8
8
 
9
9
 
10
- @dataclass(frozen=True)
10
+ @dataclass(frozen=True, slots=True)
11
11
  class TerminalEvent:
12
12
  """A discrete timestamped event within a CLI demo recording session."""
13
13
 
@@ -10,6 +10,7 @@ from typing import Any
10
10
  from typer.testing import CliRunner, Result
11
11
 
12
12
  from hexastack_cli.testing.events import TerminalEvent
13
+ from hexastack_core.utils.fs import atomic_write_text
13
14
 
14
15
 
15
16
  class CliNarrator:
@@ -155,7 +156,7 @@ class CliNarrator:
155
156
  vtt_lines.append("")
156
157
 
157
158
  vtt_path = out_dir / f"{base_name}.vtt"
158
- vtt_path.write_text("\n".join(vtt_lines), encoding="utf-8")
159
+ atomic_write_text(vtt_path, "\n".join(vtt_lines), encoding="utf-8")
159
160
  artifacts["vtt"] = vtt_path
160
161
 
161
162
  # 2. Render directly to .webm video via Playwright Rich Terminal
@@ -11,6 +11,7 @@ from pathlib import Path
11
11
 
12
12
  from hexastack_cli.testing.events import TerminalEvent
13
13
  from hexastack_core.domain.exceptions import MissingDependencyError
14
+ from hexastack_core.utils.fs import atomic_write_text
14
15
 
15
16
  TERMINAL_HTML_TEMPLATE = """<!DOCTYPE html>
16
17
  <html lang="en">
@@ -275,7 +276,7 @@ def _render_in_clean_thread(
275
276
  vtt_lines.append("")
276
277
 
277
278
  vtt_path = output_path.with_suffix(".vtt")
278
- vtt_path.write_text("\n".join(vtt_lines), encoding="utf-8")
279
+ atomic_write_text(vtt_path, "\n".join(vtt_lines), encoding="utf-8")
279
280
 
280
281
  return output_path, vtt_path
281
282
 
File without changes