meshcode 2.11.46__tar.gz → 2.11.48__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.46 → meshcode-2.11.48}/PKG-INFO +1 -1
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/__init__.py +1 -1
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/comms_v4.py +27 -3
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.11.46 → meshcode-2.11.48}/pyproject.toml +1 -1
- {meshcode-2.11.46 → meshcode-2.11.48}/README.md +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/__main__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/_stop_hook_template.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/atomic_push.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/cli.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/compat.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/daemon.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/date_parse.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/doctor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/error_hints.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/invites.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/launcher.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/preferences.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/protocol_handler.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/quickstart.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/rpc_allowlist.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/run_agent.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/scripts/check_secrets.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/scripts/race_rate_harness.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/secrets.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/self_update.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/supervisor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode/upload.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_core.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/cli.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/compat.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/error_hints.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/invites.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/launcher.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/preferences.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/quickstart.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/run_agent.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/secrets.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/self_update.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/supervisor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/upload.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_core.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_core.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/PKG-INFO 2 +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/SOURCES 2.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/dependency_links 2.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/entry_points 2.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/requires 2.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/top_level 2.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/setup.cfg +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_auto_update_hardening.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_boot_bug_regression.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_color_truecolor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_core.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_date_parse.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_doctor.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_epistemic_v1_python_sdk.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_epistemic_v1_stop_conditions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_exceptions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_init_device_code.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_install_guard.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_lease_sigterm_release.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_rpc_grants.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_run_agent_dry_run.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_run_agent_no_server_import.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_self_update_user_site.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_sentinel.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_setup_path.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_sleep_signals.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_stay_on_loop_hook.py +0 -0
- {meshcode-2.11.46 → meshcode-2.11.48}/tests/test_wait_open_tasks_contradiction.py +0 -0
|
@@ -2406,7 +2406,8 @@ TEAM:
|
|
|
2406
2406
|
|
|
2407
2407
|
SETUP (advanced):
|
|
2408
2408
|
setup <proj> <name> [role] Create workspace (auto by 'go')
|
|
2409
|
-
|
|
2409
|
+
add-agent <proj> <name> [role] Alias for `setup` above
|
|
2410
|
+
run <agent> [--project <name>] [--autonomous] Launch agent (auto by 'go')
|
|
2410
2411
|
register <proj> <name> [role] Register agent manually
|
|
2411
2412
|
setup <client> <proj> <name> [role] Legacy: global MCP config
|
|
2412
2413
|
|
|
@@ -2415,6 +2416,7 @@ AGENT CONTROL:
|
|
|
2415
2416
|
kill <proj> <name> Force disconnect agent
|
|
2416
2417
|
wake <proj> <name> Send wake signal
|
|
2417
2418
|
sleep <proj> <name> Send sleep signal
|
|
2419
|
+
wake-all <proj> Print copy-paste --autonomous commands for every offline agent
|
|
2418
2420
|
disconnect <proj> <name> Graceful disconnect
|
|
2419
2421
|
whoami Show logged-in identity
|
|
2420
2422
|
profile [agent] Show/set agent profile
|
|
@@ -2735,6 +2737,26 @@ if __name__ == "__main__":
|
|
|
2735
2737
|
except Exception:
|
|
2736
2738
|
_v = "unknown"
|
|
2737
2739
|
print(f"meshcode {_v}")
|
|
2740
|
+
# Final-polish (msg 8068cca1): chief@mesh-dev review noted users
|
|
2741
|
+
# pip-upgrade but don't restart agents → task-pull-always-on never
|
|
2742
|
+
# activates → "meshcode feels broken" perception persists. This
|
|
2743
|
+
# one-liner runs every `meshcode --version` (or `meshcode version`)
|
|
2744
|
+
# so it shows up after upgrade flows + doctor + manual checks.
|
|
2745
|
+
try:
|
|
2746
|
+
_parts = _v.split(".")
|
|
2747
|
+
_is_2_11_46_or_newer = (
|
|
2748
|
+
len(_parts) >= 3
|
|
2749
|
+
and _parts[0] == "2" and _parts[1] == "11"
|
|
2750
|
+
and _parts[2].isdigit() and int(_parts[2]) >= 46
|
|
2751
|
+
)
|
|
2752
|
+
if _is_2_11_46_or_newer:
|
|
2753
|
+
print()
|
|
2754
|
+
print(f" ⚡ NEW in 2.11.46+: agents auto-claim assigned tasks + show 'working on X' status.")
|
|
2755
|
+
print(f" If you have running agent sessions on an older version, restart them:")
|
|
2756
|
+
print(f" meshcode wake-all <project> # copy-paste relaunch list")
|
|
2757
|
+
print(f" meshcode run <agent> --autonomous # per-agent direct launch")
|
|
2758
|
+
except Exception:
|
|
2759
|
+
pass
|
|
2738
2760
|
sys.exit(0)
|
|
2739
2761
|
|
|
2740
2762
|
# Per-subcommand help: meshcode <cmd> --help / -h / help
|
|
@@ -3213,7 +3235,9 @@ if __name__ == "__main__":
|
|
|
3213
3235
|
name = flags.get("name", pos[1] if len(pos) > 1 else "agent")
|
|
3214
3236
|
disconnect_terminal(proj, name)
|
|
3215
3237
|
|
|
3216
|
-
elif cmd
|
|
3238
|
+
elif cmd in ("setup", "add-agent", "add_agent"):
|
|
3239
|
+
# `setup` and `add-agent` are aliases (qa snag 05b6a6c2: docs/users
|
|
3240
|
+
# were referring to `meshcode add-agent` but only `setup` existed).
|
|
3217
3241
|
# Two forms supported:
|
|
3218
3242
|
# meshcode setup <project> <agent> [role] → workspace flow (1.3+)
|
|
3219
3243
|
# meshcode setup <client> <project> <agent> [role] → legacy global flow
|
|
@@ -3789,7 +3813,7 @@ if __name__ == "__main__":
|
|
|
3789
3813
|
"register", "send", "broadcast", "read", "check", "watch", "inbox", "next",
|
|
3790
3814
|
"board", "update", "status", "projects", "list", "ls",
|
|
3791
3815
|
"history", "clear", "unregister", "connect", "disconnect",
|
|
3792
|
-
"setup", "run", "go", "invite", "join", "invites", "members",
|
|
3816
|
+
"setup", "add-agent", "run", "go", "invite", "join", "invites", "members",
|
|
3793
3817
|
"revoke-invite", "revoke-member", "login", "prefs", "launcher",
|
|
3794
3818
|
"help", "init", "doctor", "compat", "upgrade", "profile", "validate-sessions", "wake-headless",
|
|
3795
3819
|
"supervisor", "upload", "quickstart", "patch-hooks", "wake-all",
|
|
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.46 → meshcode-2.11.48}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_realtime_event_freshness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-backend-wt/tests/test_security_regressions.py
RENAMED
|
File without changes
|
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.46 → meshcode-2.11.48}/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.46 → meshcode-2.11.48}/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
|