hte-cli 0.2.1__tar.gz → 0.2.2__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 (27) hide show
  1. {hte_cli-0.2.1 → hte_cli-0.2.2}/PKG-INFO +1 -1
  2. {hte_cli-0.2.1 → hte_cli-0.2.2}/pyproject.toml +1 -1
  3. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/cli.py +34 -17
  4. {hte_cli-0.2.1 → hte_cli-0.2.2}/.gitignore +0 -0
  5. {hte_cli-0.2.1 → hte_cli-0.2.2}/README.md +0 -0
  6. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/__init__.py +0 -0
  7. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/__main__.py +0 -0
  8. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/api_client.py +0 -0
  9. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/config.py +0 -0
  10. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/errors.py +0 -0
  11. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/events.py +0 -0
  12. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/image_utils.py +0 -0
  13. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/runner.py +0 -0
  14. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/scorers.py +0 -0
  15. {hte_cli-0.2.1 → hte_cli-0.2.2}/src/hte_cli/version_check.py +0 -0
  16. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/__init__.py +0 -0
  17. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/__init__.py +0 -0
  18. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/automated_runner.py +0 -0
  19. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/conftest.py +0 -0
  20. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/e2e_test.py +0 -0
  21. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/test_benchmark_flows.py +0 -0
  22. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/test_eval_logs.py +0 -0
  23. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/test_infrastructure.py +0 -0
  24. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/test_runtime_imports.py +0 -0
  25. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/test_session_lifecycle.py +0 -0
  26. {hte_cli-0.2.1 → hte_cli-0.2.2}/tests/e2e/verify_docker_deps.py +0 -0
  27. {hte_cli-0.2.1 → hte_cli-0.2.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hte-cli
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: Human Time-to-Completion Evaluation CLI
5
5
  Project-URL: Homepage, https://github.com/sean-peters-au/lyptus-mono
6
6
  Author: Lyptus Research
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hte-cli"
3
- version = "0.2.1"
3
+ version = "0.2.2"
4
4
  description = "Human Time-to-Completion Evaluation CLI"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -281,26 +281,43 @@ def session_join(ctx, session_id: str, force_setup: bool):
281
281
 
282
282
  # Step 3: Run setup (skip if reconnecting without force)
283
283
  setup_start_time = time.monotonic()
284
- if not is_reconnect or force_setup:
285
- # Send setup_started event
286
- events.setup_started({"cli_version": __version__, "task_id": assignment["task_id"]})
284
+ images = []
285
+ pulled_images = []
286
+ cached_images = []
287
+ failed_images = []
287
288
 
288
- # Pull images if we have compose
289
+ if not is_reconnect or force_setup:
290
+ # Extract images from compose
289
291
  if compose_yaml:
290
292
  images = extract_images_from_compose(compose_yaml)
291
- if images:
292
- console.print(f"[bold]Pulling {len(images)} Docker image(s)...[/bold]")
293
- events.image_pull_started({})
294
- for img in images:
295
- short_name = img.split("/")[-1][:40]
296
- with console.status(f"[yellow]↓[/yellow] {short_name}") as status:
297
- success = pull_image_with_progress(img)
298
- if success:
299
- console.print(f" [green]✓[/green] {short_name}")
300
- else:
301
- console.print(f" [red][/red] {short_name} (failed)")
302
- events.image_pull_completed({})
303
- console.print()
293
+
294
+ # Send setup_started event
295
+ events.setup_started(images=images)
296
+
297
+ # Pull images if we have any
298
+ if images:
299
+ console.print(f"[bold]Pulling {len(images)} Docker image(s)...[/bold]")
300
+ pull_start = time.monotonic()
301
+
302
+ for img in images:
303
+ short_name = img.split("/")[-1][:40]
304
+ with console.status(f"[yellow]↓[/yellow] {short_name}") as status:
305
+ success = pull_image_with_progress(img)
306
+ if success:
307
+ console.print(f" [green]✓[/green] {short_name}")
308
+ pulled_images.append(img)
309
+ else:
310
+ console.print(f" [red]✗[/red] {short_name} (failed)")
311
+ failed_images.append(img)
312
+
313
+ pull_duration = time.monotonic() - pull_start
314
+ events.image_pull_completed(
315
+ duration_seconds=pull_duration,
316
+ pulled=pulled_images,
317
+ cached=cached_images,
318
+ failed=failed_images,
319
+ )
320
+ console.print()
304
321
 
305
322
  # Send setup_completed - THIS STARTS THE TIMER ON SERVER
306
323
  total_setup = time.monotonic() - setup_start_time
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