methodproof 0.3.3__tar.gz → 0.3.4__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.
- {methodproof-0.3.3 → methodproof-0.3.4}/CHANGELOG.md +6 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/PKG-INFO +1 -1
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/cli.py +18 -1
- {methodproof-0.3.3 → methodproof-0.3.4}/pyproject.toml +1 -1
- {methodproof-0.3.3 → methodproof-0.3.4}/.github/workflows/ci.yml +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/.gitignore +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/LICENSE +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/README.md +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/__init__.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/__main__.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/__init__.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/base.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/music.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/terminal.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/watcher.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/analysis.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/bridge.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/config.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/crypto.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/graph.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hook.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/__init__.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/claude_code.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/claude_code.sh +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/install.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/openclaw/HOOK.md +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/openclaw/handler.ts +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/openclaw_install.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/wrappers.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/integrity.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/live.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/mcp.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/repos.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/skills/methodproof/SKILL.md +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/store.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/sync.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/viewer.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/test_windows_compat.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/__init__.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_analysis.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_graph.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_hooks.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_live.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_openclaw_hooks.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_store.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_wrappers.py +0 -0
- {methodproof-0.3.3 → methodproof-0.3.4}/uv.lock +0 -0
|
@@ -708,13 +708,17 @@ def cmd_log(args: argparse.Namespace) -> None:
|
|
|
708
708
|
if not sessions:
|
|
709
709
|
print("No sessions yet.")
|
|
710
710
|
return
|
|
711
|
+
unsynced = [s for s in sessions if not s["synced"] and s.get("completed_at") and s["total_events"] > 0]
|
|
712
|
+
if unsynced:
|
|
713
|
+
print(f" [{len(unsynced)} session{'s' if len(unsynced) != 1 else ''} behind sync] — run `mp push` to upload\n")
|
|
711
714
|
for s in sessions:
|
|
712
715
|
sync_tag = "synced" if s["synced"] else "local"
|
|
716
|
+
status = _session_status(s)
|
|
713
717
|
dt = datetime.fromtimestamp(s["created_at"], tz=UTC).strftime("%Y-%m-%d %H:%M")
|
|
714
718
|
dur = _duration(s)
|
|
715
719
|
vis = s.get("visibility", "private")
|
|
716
720
|
tags = json.loads(s.get("tags") or "[]")
|
|
717
|
-
suffix = f" [{sync_tag}]"
|
|
721
|
+
suffix = f" [{sync_tag}] {status}"
|
|
718
722
|
if vis != "private":
|
|
719
723
|
suffix += f" {vis}"
|
|
720
724
|
if tags:
|
|
@@ -976,6 +980,19 @@ def _latest() -> str | None:
|
|
|
976
980
|
return sessions[0]["id"] if sessions else None
|
|
977
981
|
|
|
978
982
|
|
|
983
|
+
def _session_status(s: dict) -> str:
|
|
984
|
+
active = config.load().get("active_session")
|
|
985
|
+
if s["id"] == active:
|
|
986
|
+
return "recording"
|
|
987
|
+
if not s.get("completed_at"):
|
|
988
|
+
return "abandoned"
|
|
989
|
+
if s["total_events"] == 0:
|
|
990
|
+
return "empty"
|
|
991
|
+
if s["synced"]:
|
|
992
|
+
return "pushed"
|
|
993
|
+
return "stopped"
|
|
994
|
+
|
|
995
|
+
|
|
979
996
|
def _duration(s: dict) -> str:
|
|
980
997
|
if not s.get("completed_at") or not s.get("created_at"):
|
|
981
998
|
return "--:--"
|
|
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
|
|
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
|