meshcode 2.10.2__tar.gz → 2.10.4__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.10.2 → meshcode-2.10.4}/PKG-INFO +1 -1
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/__init__.py +1 -1
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/server.py +4 -2
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/run_agent.py +5 -3
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.10.2 → meshcode-2.10.4}/pyproject.toml +1 -1
- {meshcode-2.10.2 → meshcode-2.10.4}/README.md +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/ascii_art.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/cli.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/comms_v4.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/invites.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/launcher.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/launcher_install.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/preferences.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/secrets.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/self_update.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode/setup_clients.py +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/setup.cfg +0 -0
- {meshcode-2.10.2 → meshcode-2.10.4}/tests/test_status_enum_coverage.py +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""MeshCode — Real-time communication between AI agents."""
|
|
2
|
-
__version__ = "2.10.
|
|
2
|
+
__version__ = "2.10.4"
|
|
@@ -17,6 +17,8 @@ from collections import deque
|
|
|
17
17
|
from contextlib import asynccontextmanager
|
|
18
18
|
from typing import Any, Dict, List, Optional, Union
|
|
19
19
|
|
|
20
|
+
from meshcode import __version__ as _SDK_VERSION
|
|
21
|
+
|
|
20
22
|
|
|
21
23
|
# ── Agent color for terminal logs (pure ANSI, zero tokens) ──────
|
|
22
24
|
_ANSI_COLORS = [
|
|
@@ -1033,7 +1035,7 @@ def _heartbeat_thread_fn():
|
|
|
1033
1035
|
lease_counter = 0
|
|
1034
1036
|
while not _heartbeat_stop.is_set():
|
|
1035
1037
|
try:
|
|
1036
|
-
be.sb_rpc("mc_heartbeat", {"p_project_id": _PROJECT_ID, "p_agent_name": AGENT_NAME, "p_version":
|
|
1038
|
+
be.sb_rpc("mc_heartbeat", {"p_project_id": _PROJECT_ID, "p_agent_name": AGENT_NAME, "p_version": _SDK_VERSION})
|
|
1037
1039
|
|
|
1038
1040
|
# CPU-based status detection
|
|
1039
1041
|
parent_cpu = _get_parent_cpu()
|
|
@@ -1107,7 +1109,7 @@ async def lifespan(_app):
|
|
|
1107
1109
|
# Without this, the agent appears offline for up to 30s after boot.
|
|
1108
1110
|
for _attempt in range(3):
|
|
1109
1111
|
try:
|
|
1110
|
-
be.sb_rpc("mc_heartbeat", {"p_project_id": _PROJECT_ID, "p_agent_name": AGENT_NAME, "p_version":
|
|
1112
|
+
be.sb_rpc("mc_heartbeat", {"p_project_id": _PROJECT_ID, "p_agent_name": AGENT_NAME, "p_version": _SDK_VERSION})
|
|
1111
1113
|
be.set_status(_PROJECT_ID, AGENT_NAME, "idle", "MCP session active", api_key=_get_api_key())
|
|
1112
1114
|
log.info(f"[meshcode] Agent {AGENT_NAME} online — initial heartbeat sent")
|
|
1113
1115
|
break
|
|
@@ -426,9 +426,6 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
|
|
|
426
426
|
# Claude Code: pass --mcp-config to point at the workspace's .mcp.json
|
|
427
427
|
# and --strict-mcp-config so it ignores ~/.claude.json's mcpServers.
|
|
428
428
|
mode = resolve_permission_mode(permission_override)
|
|
429
|
-
# No boot prompt — the MCP server's _build_instructions() already
|
|
430
|
-
# provides full identity, role, and SESSION START sequence. Claude
|
|
431
|
-
# opens clean; the agent boots on the first user message.
|
|
432
429
|
cmd = [
|
|
433
430
|
editor,
|
|
434
431
|
"--mcp-config", str(ws / ".mcp.json"),
|
|
@@ -439,6 +436,11 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
|
|
|
439
436
|
else:
|
|
440
437
|
print(f"[meshcode] Permission mode: safe (Claude will prompt for every tool call)")
|
|
441
438
|
print(f"[meshcode] Tip: change with `meshcode prefs permission-mode bypass`")
|
|
439
|
+
# Boot prompt: triggers the SESSION START sequence from MCP
|
|
440
|
+
# instructions so the agent auto-initializes (set_status, check
|
|
441
|
+
# messages, claim tasks, greet peers) without waiting for user input.
|
|
442
|
+
# Uses -- to separate options from the positional prompt argument.
|
|
443
|
+
cmd.extend(["--", "boot"])
|
|
442
444
|
try:
|
|
443
445
|
os.chdir(ws)
|
|
444
446
|
except Exception:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|