meshcode 2.11.56__tar.gz → 2.11.57__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.
- {meshcode-2.11.56 → meshcode-2.11.57}/PKG-INFO +1 -1
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/__init__.py +1 -1
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/self_update.py +11 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.11.56 → meshcode-2.11.57}/pyproject.toml +1 -1
- {meshcode-2.11.56 → meshcode-2.11.57}/README.md +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/__main__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/_stop_hook_template.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/atomic_push.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/claude_update.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/cli.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/compat.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/daemon.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/date_parse.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/doctor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/error_hints.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/invites.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/launcher.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/preferences.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/protocol_handler.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/quickstart.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/rpc_allowlist.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/run_agent.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/scripts/check_secrets.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/scripts/race_rate_harness.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/secrets.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/supervisor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode/upload.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_core.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/cli.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/compat.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/error_hints.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/invites.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/launcher.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/preferences.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/quickstart.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/run_agent.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/secrets.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/self_update.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/supervisor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/upload.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_core.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_core.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/setup.cfg +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_auto_update_hardening.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_autonomous_closegap_1.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_autonomous_closegap_2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_autonomous_closegap_3.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_autonomous_prompt_inject 2.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_autonomous_prompt_inject.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_boot_bug_regression.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_color_truecolor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_core.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_date_parse.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_doctor.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_epistemic_v1_python_sdk.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_epistemic_v1_stop_conditions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_exceptions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_file_upload.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_init_device_code.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_install_guard.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_lease_sigterm_release.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_marketplace_ratings.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_rpc_grants.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_run_agent_dry_run.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_run_agent_no_server_import.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_self_update_user_site.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_sentinel.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_setup_path.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_sleep_signals.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_stay_on_loop_hook.py +0 -0
- {meshcode-2.11.56 → meshcode-2.11.57}/tests/test_wait_open_tasks_contradiction.py +0 -0
|
@@ -441,6 +441,17 @@ def check_and_maybe_update_blocking(verbose: bool = True, timeout_sec: int = 60)
|
|
|
441
441
|
)
|
|
442
442
|
logf.flush()
|
|
443
443
|
proc = subprocess.run(cmd, stdout=logf, stderr=logf, timeout=timeout_sec)
|
|
444
|
+
# Protected-path fallback (RC 2026-05-30): a non-user-site install
|
|
445
|
+
# in a system/admin path fails pip with a permission error
|
|
446
|
+
# (exit != 0) even when auto_update is on — the update fires but
|
|
447
|
+
# never lands, so the agent stays on a stale SDK (mesh-core
|
|
448
|
+
# incident). Retry once forcing --user so the upgrade lands in the
|
|
449
|
+
# writable user site. Single retry only — never loop.
|
|
450
|
+
if proc.returncode != 0 and mode == "pip" and "--user" not in cmd:
|
|
451
|
+
logf.write(b"--- retry forcing --user --break-system-packages ---\n")
|
|
452
|
+
logf.flush()
|
|
453
|
+
retry_cmd = cmd[:-1] + ["--user", "--break-system-packages", PKG_NAME]
|
|
454
|
+
proc = subprocess.run(retry_cmd, stdout=logf, stderr=logf, timeout=timeout_sec)
|
|
444
455
|
if proc.returncode == 0:
|
|
445
456
|
if verbose:
|
|
446
457
|
print(f"[meshcode] meshcode upgraded to {latest}", file=sys.stderr)
|
|
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
|
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_cross_agent_messaging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_realtime_event_freshness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_security_regressions.py
RENAMED
|
File without changes
|
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-backend-wt/tests/test_status_enum_coverage.py
RENAMED
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py
RENAMED
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/meshcode/meshcode_mcp/test_server_wrapper.py
RENAMED
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-noun-wt/tests/test_realtime_event_freshness.py
RENAMED
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_server_wrapper.py
RENAMED
|
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
|
{meshcode-2.11.56 → meshcode-2.11.57}/meshcode-tasks-wt/tests/test_realtime_event_freshness.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|