hte-cli 0.2.10__tar.gz → 0.2.11__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.
- {hte_cli-0.2.10 → hte_cli-0.2.11}/PKG-INFO +1 -1
- {hte_cli-0.2.10 → hte_cli-0.2.11}/pyproject.toml +1 -1
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/cli.py +35 -10
- {hte_cli-0.2.10 → hte_cli-0.2.11}/.gitignore +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/README.md +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/__init__.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/__main__.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/api_client.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/config.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/errors.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/events.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/image_utils.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/runner.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/scorers.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/src/hte_cli/version_check.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/__init__.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/__init__.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/automated_runner.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/conftest.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/e2e_test.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_benchmark_flows.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_eval_logs.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_infrastructure.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_runtime_imports.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/test_session_lifecycle.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/tests/e2e/verify_docker_deps.py +0 -0
- {hte_cli-0.2.10 → hte_cli-0.2.11}/uv.lock +0 -0
|
@@ -364,21 +364,46 @@ def session_join(ctx, session_id: str, force_setup: bool):
|
|
|
364
364
|
layer_progress[layer_id]["current"] = layer_progress[layer_id]["total"]
|
|
365
365
|
layer_progress[layer_id]["phase"] = "done"
|
|
366
366
|
|
|
367
|
+
# Track waiting layers
|
|
368
|
+
waiting_match = re.search(r"([a-f0-9]+):\s*Waiting", line)
|
|
369
|
+
if waiting_match:
|
|
370
|
+
layer_id = waiting_match.group(1)
|
|
371
|
+
if layer_id not in layer_progress:
|
|
372
|
+
layer_progress[layer_id] = {"current": 0, "total": 0, "phase": "waiting"}
|
|
373
|
+
|
|
367
374
|
# Aggregate progress
|
|
368
375
|
total_current = sum(lp.get("current", 0) for lp in layer_progress.values())
|
|
369
376
|
total_size = sum(lp.get("total", 0) for lp in layer_progress.values())
|
|
370
|
-
|
|
377
|
+
downloading = sum(1 for lp in layer_progress.values() if lp.get("phase") == "Downloading")
|
|
378
|
+
extracting = sum(1 for lp in layer_progress.values() if lp.get("phase") == "Extracting")
|
|
371
379
|
done_layers = sum(1 for lp in layer_progress.values() if lp.get("phase") == "done")
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
380
|
+
waiting = sum(1 for lp in layer_progress.values() if lp.get("phase") == "waiting")
|
|
381
|
+
total_layers = len(layer_progress)
|
|
382
|
+
|
|
383
|
+
# Only show size progress if we have meaningful data (>1MB)
|
|
384
|
+
if total_size > 1024 * 1024:
|
|
385
|
+
display = f"{format_size(total_current)}/{format_size(total_size)}"
|
|
386
|
+
if downloading > 0:
|
|
387
|
+
display += f" ({downloading} downloading"
|
|
388
|
+
if extracting > 0:
|
|
389
|
+
display += f", {extracting} extracting"
|
|
390
|
+
display += ")"
|
|
391
|
+
elif extracting > 0:
|
|
392
|
+
display += f" ({extracting} extracting)"
|
|
393
|
+
elif total_layers > 0:
|
|
394
|
+
# Show layer counts instead
|
|
395
|
+
parts = []
|
|
396
|
+
if downloading > 0:
|
|
397
|
+
parts.append(f"{downloading} downloading")
|
|
398
|
+
if extracting > 0:
|
|
399
|
+
parts.append(f"{extracting} extracting")
|
|
378
400
|
if done_layers > 0:
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
401
|
+
parts.append(f"{done_layers} done")
|
|
402
|
+
if waiting > 0:
|
|
403
|
+
parts.append(f"{waiting} waiting")
|
|
404
|
+
display = ", ".join(parts) if parts else "starting..."
|
|
405
|
+
elif "Pulling" in line:
|
|
406
|
+
display = "preparing..."
|
|
382
407
|
elif line.strip():
|
|
383
408
|
display = line[:40]
|
|
384
409
|
else:
|
|
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
|