meshcode 2.10.38__tar.gz → 2.10.40__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.38 → meshcode-2.10.40}/PKG-INFO +1 -1
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/__init__.py +1 -1
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/server.py +49 -3
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode.egg-info/PKG-INFO +1 -1
- {meshcode-2.10.38 → meshcode-2.10.40}/pyproject.toml +1 -1
- {meshcode-2.10.38 → meshcode-2.10.40}/README.md +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/ascii_art.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/cli.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/comms_v4.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/invites.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/launcher.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/launcher_install.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/__init__.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/__main__.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/backend.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/realtime.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/test_backend.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/test_realtime.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/preferences.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/protocol_v2.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/run_agent.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/secrets.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/self_update.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode/setup_clients.py +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode.egg-info/SOURCES.txt +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode.egg-info/dependency_links.txt +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode.egg-info/entry_points.txt +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode.egg-info/requires.txt +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/meshcode.egg-info/top_level.txt +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/setup.cfg +0 -0
- {meshcode-2.10.38 → meshcode-2.10.40}/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.40"
|
|
@@ -2394,6 +2394,37 @@ def meshcode_schedule_list() -> Dict[str, Any]:
|
|
|
2394
2394
|
})
|
|
2395
2395
|
|
|
2396
2396
|
|
|
2397
|
+
# ----------------- TEMPLATES -----------------
|
|
2398
|
+
|
|
2399
|
+
@mcp.tool()
|
|
2400
|
+
@with_working_status
|
|
2401
|
+
def meshcode_publish_template(slug: str, name: str, description: str = "",
|
|
2402
|
+
category: str = "Custom", tags: Optional[List[str]] = None) -> Dict[str, Any]:
|
|
2403
|
+
"""Publish this meshwork as a reusable template others can fork.
|
|
2404
|
+
|
|
2405
|
+
Args:
|
|
2406
|
+
slug: URL-safe identifier (e.g. "my-saas-team"). Must be unique.
|
|
2407
|
+
name: Human-readable template name.
|
|
2408
|
+
description: What this template is for.
|
|
2409
|
+
category: Template category (Development, DevOps, Research, etc).
|
|
2410
|
+
tags: Searchable tags.
|
|
2411
|
+
"""
|
|
2412
|
+
if not slug or not slug.strip():
|
|
2413
|
+
return {"error": "slug cannot be empty"}
|
|
2414
|
+
if not name or not name.strip():
|
|
2415
|
+
return {"error": "name cannot be empty"}
|
|
2416
|
+
api_key = _get_api_key()
|
|
2417
|
+
return be.sb_rpc("mc_template_publish", {
|
|
2418
|
+
"p_api_key": api_key,
|
|
2419
|
+
"p_project_id": _PROJECT_ID,
|
|
2420
|
+
"p_slug": slug.strip(),
|
|
2421
|
+
"p_name": name.strip(),
|
|
2422
|
+
"p_description": description,
|
|
2423
|
+
"p_category": category,
|
|
2424
|
+
"p_tags": tags or [],
|
|
2425
|
+
})
|
|
2426
|
+
|
|
2427
|
+
|
|
2397
2428
|
# ----------------- PROACTIVE HEALTH SCAN -----------------
|
|
2398
2429
|
|
|
2399
2430
|
@mcp.tool()
|
|
@@ -2613,21 +2644,36 @@ def meshcode_add_agent(name: str, role: str = "") -> Dict[str, Any]:
|
|
|
2613
2644
|
@mcp.tool()
|
|
2614
2645
|
@with_working_status
|
|
2615
2646
|
def meshcode_edit_agent(name: str, role: Optional[str] = None, launch_prompt: Optional[str] = None) -> Dict[str, Any]:
|
|
2616
|
-
"""Update an agent's role or launch prompt.
|
|
2647
|
+
"""Update an agent's role or launch prompt. Notifies the running agent to reload.
|
|
2617
2648
|
|
|
2618
2649
|
Args:
|
|
2619
2650
|
name: Agent name to edit.
|
|
2620
2651
|
role: New role description.
|
|
2621
2652
|
launch_prompt: New launch prompt (injected into agent's system context).
|
|
2622
2653
|
"""
|
|
2623
|
-
|
|
2654
|
+
result = be.sb_rpc("mc_agent_update_profile", {
|
|
2624
2655
|
"p_project_id": _PROJECT_ID,
|
|
2625
2656
|
"p_agent_name": name,
|
|
2626
2657
|
"p_color": None,
|
|
2627
2658
|
"p_display_name": None,
|
|
2628
2659
|
"p_role_description": role,
|
|
2629
2660
|
"p_launch_prompt": launch_prompt,
|
|
2630
|
-
})
|
|
2661
|
+
})
|
|
2662
|
+
if not result:
|
|
2663
|
+
return {"error": "failed to update agent"}
|
|
2664
|
+
|
|
2665
|
+
# Hot-swap: notify the running agent to reload its prompt
|
|
2666
|
+
if name != AGENT_NAME:
|
|
2667
|
+
try:
|
|
2668
|
+
be.send_message(_PROJECT_ID, AGENT_NAME, name, {
|
|
2669
|
+
"type": "prompt_update",
|
|
2670
|
+
"text": f"Your {'role' if role else 'launch prompt'} was updated by {AGENT_NAME}. Changes take effect on next boot or meshcode_check.",
|
|
2671
|
+
"updated_fields": {"role": role, "launch_prompt": launch_prompt is not None},
|
|
2672
|
+
}, msg_type="system", api_key=_get_api_key())
|
|
2673
|
+
except Exception:
|
|
2674
|
+
pass # best-effort notification
|
|
2675
|
+
|
|
2676
|
+
return result
|
|
2631
2677
|
|
|
2632
2678
|
|
|
2633
2679
|
@mcp.tool()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|