methodproof 0.7.29__tar.gz → 0.7.31__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 (86) hide show
  1. {methodproof-0.7.29 → methodproof-0.7.31}/CHANGELOG.md +10 -0
  2. {methodproof-0.7.29 → methodproof-0.7.31}/PKG-INFO +1 -1
  3. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/cli.py +1 -17
  4. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/config.py +1 -2
  5. {methodproof-0.7.29 → methodproof-0.7.31}/pyproject.toml +1 -1
  6. {methodproof-0.7.29 → methodproof-0.7.31}/.github/workflows/ci.yml +0 -0
  7. {methodproof-0.7.29 → methodproof-0.7.31}/.gitignore +0 -0
  8. {methodproof-0.7.29 → methodproof-0.7.31}/LICENSE +0 -0
  9. {methodproof-0.7.29 → methodproof-0.7.31}/README.md +0 -0
  10. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/__init__.py +0 -0
  11. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/__main__.py +0 -0
  12. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/_daemon.py +0 -0
  13. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/agents/__init__.py +0 -0
  14. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/agents/base.py +0 -0
  15. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/agents/music.py +0 -0
  16. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/agents/terminal.py +0 -0
  17. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/agents/watcher.py +0 -0
  18. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/analysis.py +0 -0
  19. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/binding.py +0 -0
  20. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/bip39.py +0 -0
  21. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/bridge.py +0 -0
  22. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/crypto.py +0 -0
  23. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/e2e.py +0 -0
  24. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/graph.py +0 -0
  25. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hook.py +0 -0
  26. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/__init__.py +0 -0
  27. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/claude_code.py +0 -0
  28. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/claude_code.sh +0 -0
  29. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/cline_hook.sh +0 -0
  30. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/codex_hook.sh +0 -0
  31. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/gemini_hook.sh +0 -0
  32. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/install.py +0 -0
  33. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/kiro_hook.sh +0 -0
  34. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/mcp_register.py +0 -0
  35. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/openclaw/HOOK.md +0 -0
  36. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/openclaw/handler.ts +0 -0
  37. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/openclaw_install.py +0 -0
  38. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/opencode_plugin.js +0 -0
  39. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/hooks/wrappers.py +0 -0
  40. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/integrity.py +0 -0
  41. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/kdf.py +0 -0
  42. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/keychain.py +0 -0
  43. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/live.py +0 -0
  44. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/lock.py +0 -0
  45. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/mcp.py +0 -0
  46. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/migrate_db.py +0 -0
  47. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/proxy.py +0 -0
  48. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/proxy_daemon.py +0 -0
  49. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/repos.py +0 -0
  50. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/skills/methodproof/SKILL.md +0 -0
  51. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/store.py +0 -0
  52. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/sync.py +0 -0
  53. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/__init__.py +0 -0
  54. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/consent.py +0 -0
  55. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/init.py +0 -0
  56. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/log.py +0 -0
  57. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/login_success.py +0 -0
  58. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/review.py +0 -0
  59. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/start.py +0 -0
  60. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/status.py +0 -0
  61. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/tui/theme.py +0 -0
  62. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/viewer.py +0 -0
  63. {methodproof-0.7.29 → methodproof-0.7.31}/methodproof/wordlist.py +0 -0
  64. {methodproof-0.7.29 → methodproof-0.7.31}/test_windows_compat.py +0 -0
  65. {methodproof-0.7.29 → methodproof-0.7.31}/tests/__init__.py +0 -0
  66. {methodproof-0.7.29 → methodproof-0.7.31}/tests/conftest.py +0 -0
  67. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_analysis.py +0 -0
  68. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_auth.py +0 -0
  69. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_config.py +0 -0
  70. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_helpers.py +0 -0
  71. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_session.py +0 -0
  72. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_share.py +0 -0
  73. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_start.py +0 -0
  74. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_cli_update.py +0 -0
  75. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_e2e_integration.py +0 -0
  76. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_graph.py +0 -0
  77. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_hooks.py +0 -0
  78. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_live.py +0 -0
  79. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_openclaw_hooks.py +0 -0
  80. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_profiles.py +0 -0
  81. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_security.py +0 -0
  82. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_store.py +0 -0
  83. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_sync.py +0 -0
  84. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_viewer.py +0 -0
  85. {methodproof-0.7.29 → methodproof-0.7.31}/tests/test_wrappers.py +0 -0
  86. {methodproof-0.7.29 → methodproof-0.7.31}/uv.lock +0 -0
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.31] — 2026-04-12
4
+
5
+ ### Fixed
6
+ - **`mp push` rejected terminal events** — `command` field was in `JOURNAL_CONTENT_FIELDS`, so it was stripped when journal mode was off. Platform requires `command` on `terminal_cmd` events. Removed from journal gate — the command string is structural metadata (sensitive commands are already dropped by the `SENSITIVE` regex).
7
+
8
+ ## [0.7.30] — 2026-04-12
9
+
10
+ ### Changed
11
+ - **Removed Basic tier from journal entitlement** — tiers are Free and Pro+ only. Dropped the server-side credit fetch for Basic; `_journal_entitlement` now returns `"unlimited"` for Pro+ and local credit count for Free.
12
+
3
13
  ## [0.7.29] — 2026-04-12
4
14
 
5
15
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: methodproof
3
- Version: 0.7.29
3
+ Version: 0.7.31
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
@@ -160,28 +160,12 @@ _PRO_TIERS = {"pro", "team", "admin", "superadmin"}
160
160
 
161
161
 
162
162
  def _journal_entitlement(cfg: dict) -> str | int:
163
- """Return 'unlimited' for Pro+ users, or an int credit count for others.
164
-
165
- For Basic users, fetches live credit count from the platform; falls back
166
- to the locally cached value if the request fails (e.g. offline).
167
- """
163
+ """Return 'unlimited' for Pro+ users, or an int credit count for free users."""
168
164
  token = cfg.get("token", "")
169
165
  claims = _decode_jwt_claims(token) if token else {}
170
166
  account_type = claims.get("account_type", "free").lower()
171
-
172
167
  if account_type in _PRO_TIERS:
173
168
  return "unlimited"
174
-
175
- if account_type == "basic":
176
- try:
177
- profile = _request("GET", "/auth/me", cfg.get("api_url", config.LOCAL_API_URL), token)
178
- server_credits = profile.get("journal_credits")
179
- if server_credits is not None:
180
- cfg["journal_credits"] = int(server_credits)
181
- config.save(cfg)
182
- except Exception:
183
- pass # offline — use local cache
184
-
185
169
  return int(cfg.get("journal_credits", 0))
186
170
 
187
171
 
@@ -93,9 +93,8 @@ JOURNAL_CONTENT_FIELDS: list[tuple[str, str]] = [
93
93
  ("agent_tool_dispatch", "tool_input_preview"),
94
94
  ("agent_tool_result", "result_preview"),
95
95
  ("agent_skill_invoke", "skill_input_preview"),
96
- # Terminal — full command output
96
+ # Terminal — full command output (command itself is structural, not gated)
97
97
  ("terminal_cmd", "output_snippet"),
98
- ("terminal_cmd", "command"),
99
98
  # Code — full diffs and commit messages
100
99
  ("file_edit", "diff"),
101
100
  ("git_commit", "diff"),
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "methodproof"
3
- version = "0.7.29"
3
+ version = "0.7.31"
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", "textual>=0.59", "rich>=13.7"]
File without changes
File without changes
File without changes
File without changes