meshcode 2.11.142__tar.gz → 2.11.144__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. {meshcode-2.11.142 → meshcode-2.11.144}/PKG-INFO +1 -1
  2. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/__init__.py +1 -1
  3. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/run_agent.py +20 -1
  4. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/PKG-INFO +1 -1
  5. {meshcode-2.11.142 → meshcode-2.11.144}/pyproject.toml +1 -1
  6. {meshcode-2.11.142 → meshcode-2.11.144}/README.md +0 -0
  7. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/__main__.py +0 -0
  8. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/_session_handoff_template.py +0 -0
  9. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/_stop_hook_template.py +0 -0
  10. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/ascii_art.py +0 -0
  11. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/atomic_push.py +0 -0
  12. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/claude_update.py +0 -0
  13. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/cli.py +0 -0
  14. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/comms_v4.py +0 -0
  15. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/compat.py +0 -0
  16. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/daemon.py +0 -0
  17. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/date_parse.py +0 -0
  18. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/doctor.py +0 -0
  19. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/error_hints.py +0 -0
  20. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/exceptions.py +0 -0
  21. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/helper_visuals.py +0 -0
  22. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/hooks/__init__.py +0 -0
  23. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/hooks/repo_path_lock.py +0 -0
  24. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/hostd.py +0 -0
  25. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/invites.py +0 -0
  26. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/launcher.py +0 -0
  27. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/launcher_install.py +0 -0
  28. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/__init__.py +0 -0
  29. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/__main__.py +0 -0
  30. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/backend.py +0 -0
  31. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/realtime.py +0 -0
  32. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/server.py +0 -0
  33. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/sleep_signals.py +0 -0
  34. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/swarm.py +0 -0
  35. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_backend.py +0 -0
  36. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_boot_timing.py +0 -0
  37. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_install_guard.py +0 -0
  38. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_prefs_claude_version.py +0 -0
  39. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_realtime.py +0 -0
  40. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  41. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/meshcode_mcp/test_swarm.py +0 -0
  42. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/preferences.py +0 -0
  43. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/protocol_handler.py +0 -0
  44. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/protocol_v2.py +0 -0
  45. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/quickstart.py +0 -0
  46. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/rpc_allowlist.py +0 -0
  47. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/scripts/check_secrets.py +0 -0
  48. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/scripts/race_rate_harness.py +0 -0
  49. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/secrets.py +0 -0
  50. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/self_update.py +0 -0
  51. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/setup_clients.py +0 -0
  52. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/supervisor.py +0 -0
  53. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/up.py +0 -0
  54. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode/upload.py +0 -0
  55. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/SOURCES.txt +0 -0
  56. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/dependency_links.txt +0 -0
  57. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/entry_points.txt +0 -0
  58. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/requires.txt +0 -0
  59. {meshcode-2.11.142 → meshcode-2.11.144}/meshcode.egg-info/top_level.txt +0 -0
  60. {meshcode-2.11.142 → meshcode-2.11.144}/setup.cfg +0 -0
  61. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_auto_update_hardening.py +0 -0
  62. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_closegap_1.py +0 -0
  63. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_closegap_2.py +0 -0
  64. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_closegap_3.py +0 -0
  65. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_autonomous_prompt_inject.py +0 -0
  66. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_boot_bug_regression.py +0 -0
  67. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_color_truecolor.py +0 -0
  68. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_core.py +0 -0
  69. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_cross_agent_messaging.py +0 -0
  70. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_date_parse.py +0 -0
  71. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_doctor.py +0 -0
  72. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_epistemic_v1_python_sdk.py +0 -0
  73. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_epistemic_v1_stop_conditions.py +0 -0
  74. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_esc_deaf_state.py +0 -0
  75. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_exceptions.py +0 -0
  76. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_file_upload.py +0 -0
  77. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_helper_visuals.py +0 -0
  78. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_hostd_zombie_sessions.py +0 -0
  79. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_init_device_code.py +0 -0
  80. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_install_guard.py +0 -0
  81. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_lease_sigterm_release.py +0 -0
  82. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_live_mesh_guard.py +0 -0
  83. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_mark_read_batch.py +0 -0
  84. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_marketplace_ratings.py +0 -0
  85. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_migration_integrity.py +0 -0
  86. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_pretrust_claude.py +0 -0
  87. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_realtime_event_freshness.py +0 -0
  88. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_rls_cross_tenant.py +0 -0
  89. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_rpc_grants.py +0 -0
  90. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_rpc_migrations.py +0 -0
  91. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_run_agent_dry_run.py +0 -0
  92. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_run_agent_no_server_import.py +0 -0
  93. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_security_regressions.py +0 -0
  94. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_self_update_user_site.py +0 -0
  95. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_sentinel.py +0 -0
  96. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_session_replay_gate.py +0 -0
  97. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_setup_path.py +0 -0
  98. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_sleep_signals.py +0 -0
  99. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_status_enum_coverage.py +0 -0
  100. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_stay_on_loop_hook.py +0 -0
  101. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_stop_ghost_terminal.py +0 -0
  102. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_swarm_events.py +0 -0
  103. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_task_progress.py +0 -0
  104. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_terminal_lifecycle.py +0 -0
  105. {meshcode-2.11.142 → meshcode-2.11.144}/tests/test_wait_open_tasks_contradiction.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.11.142
3
+ Version: 2.11.144
4
4
  Summary: Real-time communication between AI agents — Supabase-backed CLI
5
5
  Author-email: MeshCode <hello@meshcode.io>
6
6
  License: MIT
@@ -1,5 +1,5 @@
1
1
  """MeshCode — Real-time communication between AI agents."""
2
- __version__ = "2.11.142"
2
+ __version__ = "2.11.144"
3
3
 
4
4
  # Exception hierarchy — eagerly imported (lightweight, no deps)
5
5
  from meshcode.exceptions import ( # noqa: F401
@@ -32,6 +32,10 @@ from . import claude_update
32
32
  WORKSPACES_ROOT = Path.home() / "meshcode"
33
33
  REGISTRY_PATH = WORKSPACES_ROOT / ".registry.json"
34
34
 
35
+ # Samuel directive 2026-06-17: all agents boot with the best model by default.
36
+ # Overrides (settings.json "model" or mc_agent_model_pref RPC) still respected.
37
+ PLATFORM_DEFAULT_MODEL = "opus"
38
+
35
39
 
36
40
  def _pretrust_claude_workspace(*paths) -> None:
37
41
  """Pre-trust workspace dirs in ~/.claude.json (task 2e6a8d63, Samuel
@@ -1253,8 +1257,17 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
1253
1257
  'chief', 'captain', 'boss', 'head agent')
1254
1258
  is_cmd = any(k in _leader_haystack for k in _LEADER_KW)
1255
1259
  agent_stats = _fetch_agent_stats(agent, resolved_project)
1260
+ # Banner must show the version the agent will ACTUALLY run — the
1261
+ # boot-env target resolved by ensure_boot_env() above (always-latest),
1262
+ # NOT the launcher's own installed __version__. The launcher's global
1263
+ # install can lag (its self-update is non-blocking → one-launch
1264
+ # behind), which made the banner read e.g. v2.11.140 while the agent
1265
+ # actually booted on .143 (Samuel 2026-06-17). _boot_env_ver is None on
1266
+ # offline / dry-run / editable installs → fall back to the launcher
1267
+ # version so the banner never goes blank.
1268
+ _banner_version = _boot_env_ver or cli_version
1256
1269
  print(render_welcome(
1257
- agent, resolved_project, ascii_art, cli_version,
1270
+ agent, resolved_project, ascii_art, _banner_version,
1258
1271
  is_commander=is_cmd, role=agent_role, stats=agent_stats,
1259
1272
  profile_color=profile_color,
1260
1273
  mascot_config=mascot_cfg,
@@ -1351,6 +1364,12 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
1351
1364
  except Exception as _me:
1352
1365
  print(f"[meshcode] model-pref skipped: {_me}", file=sys.stderr)
1353
1366
 
1367
+ # Platform default: best model for all agents (Samuel directive 2026-06-17).
1368
+ # Applied only when no explicit override was set via settings.json or model_pref RPC.
1369
+ if "--model" not in cmd:
1370
+ cmd += ["--model", PLATFORM_DEFAULT_MODEL]
1371
+ print(f"[meshcode] Model: {PLATFORM_DEFAULT_MODEL} (platform default)", file=sys.stderr)
1372
+
1354
1373
  if mode == "bypass":
1355
1374
  bypass_check_cmd = effective_editor if not pinned_version else "claude"
1356
1375
  if pinned_version or _claude_supports_bypass(bypass_check_cmd):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.11.142
3
+ Version: 2.11.144
4
4
  Summary: Real-time communication between AI agents — Supabase-backed CLI
5
5
  Author-email: MeshCode <hello@meshcode.io>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meshcode"
7
- version = "2.11.142"
7
+ version = "2.11.144"
8
8
  description = "Real-time communication between AI agents — Supabase-backed CLI"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
File without changes
File without changes
File without changes
File without changes