meshcode 2.11.24__tar.gz → 2.11.26__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.24 → meshcode-2.11.26}/PKG-INFO +1 -1
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/__init__.py +1 -1
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/server.py +68 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/rpc_allowlist.py +6 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.11.24 → meshcode-2.11.26}/pyproject.toml +1 -1
- {meshcode-2.11.24 → meshcode-2.11.26}/README.md +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/__main__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/_stop_hook_template.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/atomic_push.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/cli.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/compat.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/daemon.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/date_parse.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/doctor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/error_hints.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/invites.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/launcher.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/preferences.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/protocol_handler.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/quickstart.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/run_agent.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/scripts/check_secrets.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/scripts/race_rate_harness.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/secrets.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/self_update.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/supervisor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode/upload.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_core.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/cli.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/compat.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/error_hints.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/invites.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/launcher.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/preferences.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/quickstart.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/run_agent.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/secrets.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/self_update.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/supervisor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/upload.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_core.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/server.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_core.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/setup.cfg +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_auto_update_hardening.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_boot_bug_regression.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_color_truecolor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_core.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_date_parse.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_doctor.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_epistemic_v1_python_sdk.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_epistemic_v1_stop_conditions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_exceptions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_init_device_code.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_install_guard.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_lease_sigterm_release.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_rpc_grants.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_sentinel.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_setup_path.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_sleep_signals.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_stay_on_loop_hook.py +0 -0
- {meshcode-2.11.24 → meshcode-2.11.26}/tests/test_wait_open_tasks_contradiction.py +0 -0
|
@@ -5398,6 +5398,74 @@ def meshcode_remember(
|
|
|
5398
5398
|
return result
|
|
5399
5399
|
|
|
5400
5400
|
|
|
5401
|
+
@mcp.tool()
|
|
5402
|
+
@with_working_status
|
|
5403
|
+
def meshcode_seed_fixture(
|
|
5404
|
+
table: str,
|
|
5405
|
+
overrides: Optional[Dict[str, Any]] = None,
|
|
5406
|
+
ttl_seconds: int = 3600,
|
|
5407
|
+
) -> Dict[str, Any]:
|
|
5408
|
+
"""Seed a fixture row in a whitelisted table for Playwright/verify.
|
|
5409
|
+
MESH-IMPROVE-7 (mig 345). Whitelist: mc_tasks, mc_messages, mc_agents.
|
|
5410
|
+
Auto-swept after ttl_seconds (min 60). Pair with meshcode_release_fixture.
|
|
5411
|
+
"""
|
|
5412
|
+
if table not in ("mc_tasks", "mc_messages", "mc_agents"):
|
|
5413
|
+
return {"error": "table not seedable",
|
|
5414
|
+
"hint": "whitelist: mc_tasks, mc_messages, mc_agents"}
|
|
5415
|
+
return be.sb_rpc("mc_seed_fixture", {
|
|
5416
|
+
"p_api_key": _get_api_key(),
|
|
5417
|
+
"p_project_id": _PROJECT_ID,
|
|
5418
|
+
"p_table": table,
|
|
5419
|
+
"p_overrides": overrides or {},
|
|
5420
|
+
"p_ttl_seconds": max(int(ttl_seconds), 60),
|
|
5421
|
+
})
|
|
5422
|
+
|
|
5423
|
+
|
|
5424
|
+
@mcp.tool()
|
|
5425
|
+
@with_working_status
|
|
5426
|
+
def meshcode_release_fixture(row_id: str) -> Dict[str, Any]:
|
|
5427
|
+
"""Release a fixture row immediately (don't wait for sweeper).
|
|
5428
|
+
MESH-IMPROVE-7 (mig 345)."""
|
|
5429
|
+
if not row_id or not row_id.strip():
|
|
5430
|
+
return {"error": "row_id cannot be empty"}
|
|
5431
|
+
return be.sb_rpc("mc_release_fixture", {
|
|
5432
|
+
"p_api_key": _get_api_key(),
|
|
5433
|
+
"p_row_id": row_id.strip(),
|
|
5434
|
+
})
|
|
5435
|
+
|
|
5436
|
+
|
|
5437
|
+
@mcp.tool()
|
|
5438
|
+
@with_working_status
|
|
5439
|
+
def meshcode_register_skills(skills: List[str]) -> Dict[str, Any]:
|
|
5440
|
+
"""Register the skill catalog available in this MCP session.
|
|
5441
|
+
MESH-IMPROVE-8 (mig 344). Call at boot or when runtime skills change.
|
|
5442
|
+
"""
|
|
5443
|
+
if skills is None:
|
|
5444
|
+
skills = []
|
|
5445
|
+
return be.sb_rpc("mc_register_skills", {
|
|
5446
|
+
"p_api_key": _get_api_key(),
|
|
5447
|
+
"p_project_id": _PROJECT_ID,
|
|
5448
|
+
"p_agent_name": AGENT_NAME,
|
|
5449
|
+
"p_skills": skills,
|
|
5450
|
+
})
|
|
5451
|
+
|
|
5452
|
+
|
|
5453
|
+
@mcp.tool()
|
|
5454
|
+
@with_working_status
|
|
5455
|
+
def meshcode_mandate_skill(skill_name: str) -> Dict[str, Any]:
|
|
5456
|
+
"""Commander-class broadcast: report which agents have the skill, notify
|
|
5457
|
+
missing ones via system msg. MESH-IMPROVE-8 (mig 344).
|
|
5458
|
+
Returns: {ok, skill, present_agents, missing_agents, notified_count}.
|
|
5459
|
+
"""
|
|
5460
|
+
if not skill_name or not skill_name.strip():
|
|
5461
|
+
return {"error": "skill_name cannot be empty"}
|
|
5462
|
+
return be.sb_rpc("mc_mandate_skill", {
|
|
5463
|
+
"p_api_key": _get_api_key(),
|
|
5464
|
+
"p_project_id": _PROJECT_ID,
|
|
5465
|
+
"p_skill_name": skill_name.strip(),
|
|
5466
|
+
})
|
|
5467
|
+
|
|
5468
|
+
|
|
5401
5469
|
@mcp.tool()
|
|
5402
5470
|
@with_working_status
|
|
5403
5471
|
def meshcode_atomic_push(
|
|
@@ -104,6 +104,12 @@ AGENT_CALLABLE_RPCS = [
|
|
|
104
104
|
# ── Misc agent-callable
|
|
105
105
|
"mc_list_user_projects",
|
|
106
106
|
"mc_commander_brief", # mig 341
|
|
107
|
+
# Skill parity (mig 344)
|
|
108
|
+
"mc_register_skills",
|
|
109
|
+
"mc_mandate_skill",
|
|
110
|
+
# Fixture seeding (mig 345)
|
|
111
|
+
"mc_seed_fixture",
|
|
112
|
+
"mc_release_fixture",
|
|
107
113
|
]
|
|
108
114
|
|
|
109
115
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.24 → meshcode-2.11.26}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_realtime_event_freshness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-backend-wt/tests/test_security_regressions.py
RENAMED
|
File without changes
|
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py
RENAMED
|
File without changes
|
{meshcode-2.11.24 → meshcode-2.11.26}/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.24 → meshcode-2.11.26}/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
|