methodproof 0.7.1__tar.gz → 0.7.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 (65) hide show
  1. {methodproof-0.7.1 → methodproof-0.7.2}/PKG-INFO +1 -1
  2. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/__init__.py +1 -1
  3. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/cli.py +25 -1
  4. {methodproof-0.7.1 → methodproof-0.7.2}/pyproject.toml +1 -1
  5. {methodproof-0.7.1 → methodproof-0.7.2}/.github/workflows/ci.yml +0 -0
  6. {methodproof-0.7.1 → methodproof-0.7.2}/.gitignore +0 -0
  7. {methodproof-0.7.1 → methodproof-0.7.2}/CHANGELOG.md +0 -0
  8. {methodproof-0.7.1 → methodproof-0.7.2}/LICENSE +0 -0
  9. {methodproof-0.7.1 → methodproof-0.7.2}/README.md +0 -0
  10. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/__main__.py +0 -0
  11. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/_daemon.py +0 -0
  12. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/agents/__init__.py +0 -0
  13. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/agents/base.py +0 -0
  14. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/agents/music.py +0 -0
  15. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/agents/terminal.py +0 -0
  16. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/agents/watcher.py +0 -0
  17. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/analysis.py +0 -0
  18. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/binding.py +0 -0
  19. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/bip39.py +0 -0
  20. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/bridge.py +0 -0
  21. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/config.py +0 -0
  22. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/crypto.py +0 -0
  23. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/e2e.py +0 -0
  24. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/graph.py +0 -0
  25. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hook.py +0 -0
  26. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/__init__.py +0 -0
  27. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/claude_code.py +0 -0
  28. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/claude_code.sh +0 -0
  29. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/cline_hook.sh +0 -0
  30. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/codex_hook.sh +0 -0
  31. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/gemini_hook.sh +0 -0
  32. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/install.py +0 -0
  33. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/kiro_hook.sh +0 -0
  34. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/mcp_register.py +0 -0
  35. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/openclaw/HOOK.md +0 -0
  36. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/openclaw/handler.ts +0 -0
  37. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/openclaw_install.py +0 -0
  38. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/opencode_plugin.js +0 -0
  39. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/hooks/wrappers.py +0 -0
  40. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/integrity.py +0 -0
  41. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/kdf.py +0 -0
  42. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/keychain.py +0 -0
  43. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/live.py +0 -0
  44. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/lock.py +0 -0
  45. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/mcp.py +0 -0
  46. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/migrate_db.py +0 -0
  47. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/proxy.py +0 -0
  48. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/proxy_daemon.py +0 -0
  49. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/repos.py +0 -0
  50. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/skills/methodproof/SKILL.md +0 -0
  51. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/store.py +0 -0
  52. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/sync.py +0 -0
  53. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/viewer.py +0 -0
  54. {methodproof-0.7.1 → methodproof-0.7.2}/methodproof/wordlist.py +0 -0
  55. {methodproof-0.7.1 → methodproof-0.7.2}/test_windows_compat.py +0 -0
  56. {methodproof-0.7.1 → methodproof-0.7.2}/tests/__init__.py +0 -0
  57. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_analysis.py +0 -0
  58. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_graph.py +0 -0
  59. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_hooks.py +0 -0
  60. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_live.py +0 -0
  61. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_openclaw_hooks.py +0 -0
  62. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_security.py +0 -0
  63. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_store.py +0 -0
  64. {methodproof-0.7.1 → methodproof-0.7.2}/tests/test_wrappers.py +0 -0
  65. {methodproof-0.7.1 → methodproof-0.7.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: methodproof
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: See how you code. Capture and visualize your engineering process.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -1,3 +1,3 @@
1
1
  """MethodProof — see how you code."""
2
2
 
3
- __version__ = "0.7.1"
3
+ __version__ = "0.7.2"
@@ -1251,6 +1251,21 @@ def cmd_log(args: argparse.Namespace) -> None:
1251
1251
  print(f" {s['id'][:8]} {dt} {dur} {s['total_events']} events{suffix}")
1252
1252
 
1253
1253
 
1254
+ def cmd_logout(args: argparse.Namespace) -> None:
1255
+ """Clear login credentials only. Keeps consent, sessions, and hooks."""
1256
+ cfg = config.load()
1257
+ if not cfg.get("token"):
1258
+ print("Not logged in.")
1259
+ return
1260
+ old_email = cfg.get("email", "")
1261
+ old_account = cfg.get("account_id", "")[:8]
1262
+ for key in ("token", "refresh_token", "email", "account_id", "last_auth_at"):
1263
+ cfg[key] = config._DEFAULTS.get(key, "")
1264
+ config.save(cfg)
1265
+ label = old_email or old_account or "account"
1266
+ print(f"Logged out ({label}). Run `mp login` to sign in again.")
1267
+
1268
+
1254
1269
  def cmd_login(args: argparse.Namespace) -> None:
1255
1270
  import webbrowser
1256
1271
  from methodproof.sync import _request
@@ -1258,6 +1273,13 @@ def cmd_login(args: argparse.Namespace) -> None:
1258
1273
  cfg = config.load()
1259
1274
  api = args.api_url or cfg["api_url"]
1260
1275
 
1276
+ if cfg.get("token") and not getattr(args, "force", False):
1277
+ current = cfg.get("email") or cfg.get("account_id", "")[:8] or "an account"
1278
+ print(f"Already logged in as {current}.")
1279
+ answer = input(" Switch accounts? [y/N]: ").strip().lower()
1280
+ if answer not in ("y", "yes"):
1281
+ return
1282
+
1261
1283
  # Start device auth flow
1262
1284
  result = _request("POST", "/auth/cli/start", api, "")
1263
1285
  code = result["code"]
@@ -1713,6 +1735,8 @@ def main() -> None:
1713
1735
  sub.add_parser("log", help="List sessions")
1714
1736
  l = sub.add_parser("login", help="Connect to platform")
1715
1737
  l.add_argument("--api-url")
1738
+ l.add_argument("--force", "-f", action="store_true", help="Skip switch-account prompt")
1739
+ sub.add_parser("logout", help="Clear login credentials (keeps consent and sessions)")
1716
1740
  pu = sub.add_parser("push", help="Upload privately to your account")
1717
1741
  pu.add_argument("session_id", nargs="?")
1718
1742
  tg = sub.add_parser("tag", help="Tag a session")
@@ -1771,7 +1795,7 @@ def main() -> None:
1771
1795
  args = p.parse_args()
1772
1796
  cmds = {
1773
1797
  "init": cmd_init, "start": cmd_start, "stop": cmd_stop,
1774
- "view": cmd_view, "log": cmd_log, "login": cmd_login,
1798
+ "view": cmd_view, "log": cmd_log, "login": cmd_login, "logout": cmd_logout,
1775
1799
  "push": cmd_push, "tag": cmd_tag, "publish": cmd_publish,
1776
1800
  "delete": cmd_delete, "review": cmd_review, "consent": cmd_consent,
1777
1801
  "update": cmd_update, "lock": cmd_lock, "reset": cmd_reset, "uninstall": cmd_uninstall,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "methodproof"
3
- version = "0.7.1"
3
+ version = "0.7.2"
4
4
  description = "See how you code. Capture and visualize your engineering process."
5
5
  requires-python = ">=3.11"
6
6
  dependencies = ["watchdog>=4.0", "websocket-client>=1.7", "cryptography>=43.0", "keyring>=25.0"]
File without changes
File without changes
File without changes
File without changes
File without changes