meshcode 2.11.106__tar.gz → 2.11.107__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.106 → meshcode-2.11.107}/PKG-INFO +1 -1
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/__init__.py +1 -1
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/server.py +27 -5
- meshcode-2.11.107/meshcode-backend-wt/meshcode/meshcode_mcp/server.py +4117 -0
- meshcode-2.11.107/meshcode-backend-wt/meshcode/run_agent.py +958 -0
- meshcode-2.11.107/meshcode-noun-wt/build/lib/meshcode/ascii_art.py +638 -0
- meshcode-2.11.107/meshcode-noun-wt/build/lib/meshcode/comms_v4.py +3563 -0
- meshcode-2.11.107/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py +460 -0
- meshcode-2.11.107/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py +4117 -0
- meshcode-2.11.107/meshcode-noun-wt/build/lib/meshcode/run_agent.py +958 -0
- meshcode-2.11.107/meshcode-noun-wt/comms_v4.py +1941 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/ascii_art.py +638 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/comms_v4.py +3563 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/meshcode_mcp/backend.py +1261 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/meshcode_mcp/realtime.py +460 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/meshcode_mcp/server.py +4117 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/run_agent.py +958 -0
- meshcode-2.11.107/meshcode-noun-wt/meshcode/setup_clients.py +926 -0
- meshcode-2.11.107/meshcode-tasks-wt/comms_v4.py +1941 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/ascii_art.py +638 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/comms_v4.py +3563 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/meshcode_mcp/backend.py +1261 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/meshcode_mcp/realtime.py +460 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/meshcode_mcp/server.py +4117 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/run_agent.py +958 -0
- meshcode-2.11.107/meshcode-tasks-wt/meshcode/setup_clients.py +926 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.11.106 → meshcode-2.11.107}/pyproject.toml +1 -1
- meshcode-2.11.106/meshcode-backend-wt/comms_v4.py +0 -0
- meshcode-2.11.106/meshcode-backend-wt/meshcode/ascii_art.py +0 -0
- meshcode-2.11.106/meshcode-backend-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- meshcode-2.11.106/meshcode-backend-wt/meshcode/meshcode_mcp/server.py +0 -0
- meshcode-2.11.106/meshcode-backend-wt/meshcode/run_agent.py +0 -0
- meshcode-2.11.106/meshcode-backend-wt/meshcode/setup_clients.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/build/lib/meshcode/comms_v4.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/backend.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/realtime.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/server.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/build/lib/meshcode/run_agent.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/build/lib/meshcode/setup_clients.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/comms_v4.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/meshcode/ascii_art.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/meshcode/comms_v4.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/meshcode/meshcode_mcp/backend.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/meshcode/meshcode_mcp/realtime.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/meshcode/meshcode_mcp/server.py +0 -0
- meshcode-2.11.106/meshcode-noun-wt/meshcode/run_agent.py +0 -0
- meshcode-2.11.106/meshcode-tasks-wt/meshcode/ascii_art.py +0 -0
- meshcode-2.11.106/meshcode-tasks-wt/meshcode/comms_v4.py +0 -0
- meshcode-2.11.106/meshcode-tasks-wt/meshcode/meshcode_mcp/server.py +0 -0
- meshcode-2.11.106/meshcode-tasks-wt/meshcode/run_agent.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/README.md +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/__main__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/_session_handoff_template 2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/_session_handoff_template 3.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/_session_handoff_template.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/_stop_hook_template.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/atomic_push.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/claude_update 2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/claude_update 3.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/claude_update.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/cli.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/compat.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/daemon.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/date_parse.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/doctor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/error_hints.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/hostd 2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/hostd.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/invites.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/launcher.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/preferences.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/protocol_handler.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/quickstart.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/rpc_allowlist.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/run_agent.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/scripts/check_secrets.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/scripts/race_rate_harness.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/secrets.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/self_update.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/supervisor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/up 2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/up.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode/upload.py +0 -0
- {meshcode-2.11.106/meshcode-tasks-wt → meshcode-2.11.107/meshcode-backend-wt}/comms_v4.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.106/meshcode-noun-wt/build/lib → meshcode-2.11.107/meshcode-backend-wt}/meshcode/ascii_art.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/comms_v4.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.106/meshcode-tasks-wt → meshcode-2.11.107/meshcode-backend-wt}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.106/meshcode-noun-wt → meshcode-2.11.107/meshcode-backend-wt}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_core.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-backend-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/cli.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/compat.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/error_hints.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/invites.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/launcher.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.106/meshcode-tasks-wt → meshcode-2.11.107/meshcode-noun-wt/build/lib}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/preferences.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/quickstart.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/secrets.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/self_update.py +0 -0
- {meshcode-2.11.106/meshcode-tasks-wt → meshcode-2.11.107/meshcode-noun-wt/build/lib}/meshcode/setup_clients.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/supervisor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/build/lib/meshcode/upload.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_core.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-noun-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/cli.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/compat.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/error_hints.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/invites.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/launcher.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/launcher_install.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/preferences.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/protocol_v2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/quickstart.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/secrets.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/self_update.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/supervisor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/meshcode/upload.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/scripts/sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_core.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode-tasks-wt/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/PKG-INFO 2 +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/SOURCES 2.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/dependency_links 2.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/entry_points 2.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/requires 2.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/top_level 2.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/setup.cfg +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_auto_update_hardening.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_autonomous_closegap_1.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_autonomous_closegap_2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_autonomous_closegap_3.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_autonomous_prompt_inject 2.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_autonomous_prompt_inject 3.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_autonomous_prompt_inject.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_boot_bug_regression.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_color_truecolor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_core.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_cross_agent_messaging.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_date_parse.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_doctor.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_epistemic_v1_python_sdk.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_epistemic_v1_stop_conditions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_esc_deaf_state.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_exceptions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_file_upload.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_init_device_code.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_install_guard.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_lease_sigterm_release.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_mark_read_batch.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_marketplace_ratings.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_migration_integrity.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_realtime_event_freshness.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_rls_cross_tenant.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_rpc_grants.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_rpc_migrations.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_run_agent_dry_run.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_run_agent_no_server_import.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_security_regressions.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_self_update_user_site.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_sentinel.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_setup_path.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_sleep_signals.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_status_enum_coverage.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_stay_on_loop_hook.py +0 -0
- {meshcode-2.11.106 → meshcode-2.11.107}/tests/test_wait_open_tasks_contradiction.py +0 -0
|
@@ -4030,14 +4030,36 @@ async def meshcode_wait(timeout_seconds: int = 20, include_acks: bool = False) -
|
|
|
4030
4030
|
# legacy "no paraba hasta completar todos" cadence. Non-leader
|
|
4031
4031
|
# agents only — leaders need to stay in wait to triage wildcard
|
|
4032
4032
|
# tasks for the mesh.
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4033
|
+
# DURABLE-NO-IDLE-SPIN (task 2adb1705): the task-pull short-circuit must
|
|
4034
|
+
# only fire for tasks that still need STARTING (status 'open'). A task
|
|
4035
|
+
# already in_progress by THIS agent means it has been started and is being
|
|
4036
|
+
# worked — or is BLOCKED on an external gate (e.g. a missing credential).
|
|
4037
|
+
# Re-emitting the pull every wait for an in_progress task is exactly the
|
|
4038
|
+
# idle-spin that burned ~45min/148k tokens re-printing "holding". So we
|
|
4039
|
+
# only short-circuit on _tasks_to_start; in_progress tasks fall through to
|
|
4040
|
+
# the normal message-blocking wait (surfaced as a non-blocking reminder).
|
|
4041
|
+
_tasks_to_start = [t for t in (pending_tasks or []) if t.get("status") == "open"]
|
|
4042
|
+
_in_progress_mine = [t for t in (pending_tasks or []) if t.get("status") == "in_progress"]
|
|
4043
|
+
# CHAT-DELIVERY-FIX (2026-06-04, Samuel "fix now"): message delivery MUST take
|
|
4044
|
+
# priority over the task-pull short-circuit. Previously this block returned BEFORE
|
|
4045
|
+
# PRODUCT RULE 2 (below), so any agent holding an OPEN task went DEAF to incoming
|
|
4046
|
+
# messages — never read them, no blue check, the human's chat appeared broken
|
|
4047
|
+
# ("te escribo y no sale palomita azul en nadie"). If there are unread messages,
|
|
4048
|
+
# skip task_pull and fall through to PRODUCT RULE 2 so they get delivered + marked
|
|
4049
|
+
# read first. Task-pull still fires normally when the inbox is empty.
|
|
4050
|
+
_has_unread = False
|
|
4051
|
+
try:
|
|
4052
|
+
_has_unread = bool(be.count_pending(_PROJECT_ID, AGENT_NAME, api_key=_get_api_key()))
|
|
4053
|
+
except Exception:
|
|
4054
|
+
_has_unread = False
|
|
4055
|
+
if _tasks_to_start and not _is_leader_agent() and not _has_unread:
|
|
4056
|
+
# Auto-start the highest priority OPEN task so the agent sees it as
|
|
4057
|
+
# in_progress and works it immediately. Samuel directive: "agents
|
|
4058
|
+
# should claim and work right away one by one."
|
|
4037
4059
|
_auto_started = None
|
|
4038
4060
|
_PRIO_ORDER = {"urgent": 0, "high": 1, "normal": 2, "low": 3}
|
|
4039
4061
|
_sorted_pending = sorted(
|
|
4040
|
-
|
|
4062
|
+
_tasks_to_start,
|
|
4041
4063
|
key=lambda t: (_PRIO_ORDER.get(t.get("priority", "normal"), 2), t.get("id", "")),
|
|
4042
4064
|
)
|
|
4043
4065
|
for _pt in _sorted_pending:
|