meshcode 2.11.160__tar.gz → 2.11.161__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 (117) hide show
  1. {meshcode-2.11.160 → meshcode-2.11.161}/PKG-INFO +2 -1
  2. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/__init__.py +1 -1
  3. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode.egg-info/PKG-INFO +2 -1
  4. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode.egg-info/requires.txt +1 -0
  5. {meshcode-2.11.160 → meshcode-2.11.161}/pyproject.toml +7 -1
  6. {meshcode-2.11.160 → meshcode-2.11.161}/README.md +0 -0
  7. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/__main__.py +0 -0
  8. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/_launch_smoke.py +0 -0
  9. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/_session_handoff_template.py +0 -0
  10. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/_stop_hook_template.py +0 -0
  11. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/_update_guard.py +0 -0
  12. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/ascii_art.py +0 -0
  13. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/atomic_push.py +0 -0
  14. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/claude_update.py +0 -0
  15. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/cli.py +0 -0
  16. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/comms_v4.py +0 -0
  17. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/compat.py +0 -0
  18. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/daemon.py +0 -0
  19. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/date_parse.py +0 -0
  20. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/doctor.py +0 -0
  21. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/error_hints.py +0 -0
  22. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/exceptions.py +0 -0
  23. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/hooks/__init__.py +0 -0
  24. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/hooks/push_guard.py +0 -0
  25. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/hooks/repo_path_lock.py +0 -0
  26. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/hostd.py +0 -0
  27. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/invites.py +0 -0
  28. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/launcher.py +0 -0
  29. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/launcher_install.py +0 -0
  30. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/__init__.py +0 -0
  31. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/__main__.py +0 -0
  32. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/backend.py +0 -0
  33. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/realtime.py +0 -0
  34. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/server.py +0 -0
  35. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
  36. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/test_backend.py +0 -0
  37. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
  38. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
  39. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
  40. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/test_realtime.py +0 -0
  41. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  42. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/preferences.py +0 -0
  43. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/protocol_handler.py +0 -0
  44. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/protocol_v2.py +0 -0
  45. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/quickstart.py +0 -0
  46. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/rpc_allowlist.py +0 -0
  47. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/run_agent.py +0 -0
  48. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/scripts/check_secrets.py +0 -0
  49. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/scripts/race_rate_harness.py +0 -0
  50. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/secrets.py +0 -0
  51. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/self_update.py +0 -0
  52. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/setup_clients.py +0 -0
  53. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/supervisor.py +0 -0
  54. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/up.py +0 -0
  55. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode/upload.py +0 -0
  56. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode.egg-info/SOURCES.txt +0 -0
  57. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode.egg-info/dependency_links.txt +0 -0
  58. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode.egg-info/entry_points.txt +0 -0
  59. {meshcode-2.11.160 → meshcode-2.11.161}/meshcode.egg-info/top_level.txt +0 -0
  60. {meshcode-2.11.160 → meshcode-2.11.161}/setup.cfg +0 -0
  61. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_auto_update_hardening.py +0 -0
  62. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_autonomous_closegap_1.py +0 -0
  63. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_autonomous_closegap_2.py +0 -0
  64. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_autonomous_closegap_3.py +0 -0
  65. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_autonomous_prompt_inject.py +0 -0
  66. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_boot_bug_regression.py +0 -0
  67. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_color_truecolor.py +0 -0
  68. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_core.py +0 -0
  69. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_cross_agent_messaging.py +0 -0
  70. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_date_parse.py +0 -0
  71. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_doctor.py +0 -0
  72. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_ensure_boot_env_urgent_wake.py +0 -0
  73. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_epistemic_v1_python_sdk.py +0 -0
  74. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_epistemic_v1_stop_conditions.py +0 -0
  75. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_esc_deaf_state.py +0 -0
  76. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_exceptions.py +0 -0
  77. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_file_upload.py +0 -0
  78. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_fleet_reaper.py +0 -0
  79. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_hostd_launch_pinned_env.py +0 -0
  80. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_hostd_serve_discovery_split.py +0 -0
  81. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_hostd_zombie_sessions.py +0 -0
  82. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_init_device_code.py +0 -0
  83. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_install_guard.py +0 -0
  84. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_launch_smoke.py +0 -0
  85. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_lease_sigterm_release.py +0 -0
  86. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_live_mesh_guard.py +0 -0
  87. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_mark_read_batch.py +0 -0
  88. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_marketplace_ratings.py +0 -0
  89. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_migration_integrity.py +0 -0
  90. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_no_appleevents_on_sweep.py +0 -0
  91. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_preflight_hb_gate.py +0 -0
  92. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_pretrust_claude.py +0 -0
  93. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_push_guard.py +0 -0
  94. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_realtime_event_freshness.py +0 -0
  95. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_replica_base_workspace_fallback.py +0 -0
  96. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_replica_boot_protocol_unconditional.py +0 -0
  97. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_rls_cross_tenant.py +0 -0
  98. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_rm_guard.py +0 -0
  99. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_rpc_grants.py +0 -0
  100. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_rpc_migrations.py +0 -0
  101. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_run_agent_dry_run.py +0 -0
  102. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_run_agent_no_server_import.py +0 -0
  103. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_security_regressions.py +0 -0
  104. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_self_update_user_site.py +0 -0
  105. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_sentinel.py +0 -0
  106. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_session_replay_gate.py +0 -0
  107. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_setup_path.py +0 -0
  108. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_sleep_signals.py +0 -0
  109. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_status_enum_coverage.py +0 -0
  110. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_stay_on_loop_hook.py +0 -0
  111. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_stop_ghost_terminal.py +0 -0
  112. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_task_progress.py +0 -0
  113. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_terminal_lifecycle.py +0 -0
  114. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_up_launch_cmd.py +0 -0
  115. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_update_guard.py +0 -0
  116. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_urgent_wake_tmux.py +0 -0
  117. {meshcode-2.11.160 → meshcode-2.11.161}/tests/test_wait_open_tasks_contradiction.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.11.160
3
+ Version: 2.11.161
4
4
  Summary: Real-time communication between AI agents — Supabase-backed CLI
5
5
  Author-email: MeshCode <hello@meshcode.io>
6
6
  License: MIT
@@ -23,6 +23,7 @@ Requires-Dist: websockets>=12.0
23
23
  Requires-Dist: realtime>=2.0.0
24
24
  Requires-Dist: keyring>=24.0
25
25
  Requires-Dist: cryptography>=41.0
26
+ Requires-Dist: psutil>=5.9.0
26
27
  Provides-Extra: test
27
28
  Requires-Dist: pytest>=8; extra == "test"
28
29
  Provides-Extra: dev
@@ -1,5 +1,5 @@
1
1
  """MeshCode — Real-time communication between AI agents."""
2
- __version__ = "2.11.160"
2
+ __version__ = "2.11.161"
3
3
 
4
4
  # Exception hierarchy — eagerly imported (lightweight, no deps)
5
5
  from meshcode.exceptions import ( # noqa: F401
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.11.160
3
+ Version: 2.11.161
4
4
  Summary: Real-time communication between AI agents — Supabase-backed CLI
5
5
  Author-email: MeshCode <hello@meshcode.io>
6
6
  License: MIT
@@ -23,6 +23,7 @@ Requires-Dist: websockets>=12.0
23
23
  Requires-Dist: realtime>=2.0.0
24
24
  Requires-Dist: keyring>=24.0
25
25
  Requires-Dist: cryptography>=41.0
26
+ Requires-Dist: psutil>=5.9.0
26
27
  Provides-Extra: test
27
28
  Requires-Dist: pytest>=8; extra == "test"
28
29
  Provides-Extra: dev
@@ -3,6 +3,7 @@ websockets>=12.0
3
3
  realtime>=2.0.0
4
4
  keyring>=24.0
5
5
  cryptography>=41.0
6
+ psutil>=5.9.0
6
7
 
7
8
  [dev]
8
9
  build>=1.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meshcode"
7
- version = "2.11.160"
7
+ version = "2.11.161"
8
8
  description = "Real-time communication between AI agents — Supabase-backed CLI"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -17,6 +17,12 @@ dependencies = [
17
17
  "realtime>=2.0.0",
18
18
  "keyring>=24.0",
19
19
  "cryptography>=41.0",
20
+ # psutil: hostd PID discovery for the fail-closed anti-self-spawn + zombie-kill
21
+ # paths (tasks 89d50a14, 14e0760c). Was a lazy/optional import; promoted to a
22
+ # hard dep (task 03957df3, Ian P1) so the terminal-storm guard is ALWAYS armed —
23
+ # without psutil the discovery degrades and the running-cap can be defeated.
24
+ # Prebuilt wheels exist for all requires-python>=3.9 targets.
25
+ "psutil>=5.9.0",
20
26
  ]
21
27
  classifiers = [
22
28
  "Development Status :: 4 - Beta",
File without changes
File without changes
File without changes
File without changes