meshcode 2.9.7__tar.gz → 2.9.9__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 (32) hide show
  1. {meshcode-2.9.7 → meshcode-2.9.9}/PKG-INFO +1 -1
  2. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/__init__.py +1 -1
  3. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/comms_v4.py +7 -0
  4. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/run_agent.py +3 -9
  5. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode.egg-info/PKG-INFO +1 -1
  6. {meshcode-2.9.7 → meshcode-2.9.9}/pyproject.toml +1 -1
  7. {meshcode-2.9.7 → meshcode-2.9.9}/README.md +0 -0
  8. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/ascii_art.py +0 -0
  9. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/cli.py +0 -0
  10. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/invites.py +0 -0
  11. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/launcher.py +0 -0
  12. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/launcher_install.py +0 -0
  13. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/__init__.py +0 -0
  14. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/__main__.py +0 -0
  15. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/backend.py +0 -0
  16. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/realtime.py +0 -0
  17. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/server.py +0 -0
  18. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/test_backend.py +0 -0
  19. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/test_realtime.py +0 -0
  20. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  21. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/preferences.py +0 -0
  22. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/protocol_v2.py +0 -0
  23. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/secrets.py +0 -0
  24. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/self_update.py +0 -0
  25. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode/setup_clients.py +0 -0
  26. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode.egg-info/SOURCES.txt +0 -0
  27. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode.egg-info/dependency_links.txt +0 -0
  28. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode.egg-info/entry_points.txt +0 -0
  29. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode.egg-info/requires.txt +0 -0
  30. {meshcode-2.9.7 → meshcode-2.9.9}/meshcode.egg-info/top_level.txt +0 -0
  31. {meshcode-2.9.7 → meshcode-2.9.9}/setup.cfg +0 -0
  32. {meshcode-2.9.7 → meshcode-2.9.9}/tests/test_status_enum_coverage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.9.7
3
+ Version: 2.9.9
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,2 +1,2 @@
1
1
  """MeshCode — Real-time communication between AI agents."""
2
- __version__ = "2.9.7"
2
+ __version__ = "2.9.9"
@@ -2214,6 +2214,13 @@ if __name__ == "__main__":
2214
2214
  _agent = tag
2215
2215
  _proj = None
2216
2216
  print(f"[meshcode] Detected agent: {_agent}" + (f" (project: {_proj})" if _proj else ""))
2217
+ # Drain any unread stdin (e.g. heredoc content that pyperclip made
2218
+ # redundant) so it doesn't leak into the editor as a first message.
2219
+ if not sys.stdin.isatty():
2220
+ try:
2221
+ sys.stdin.read()
2222
+ except Exception:
2223
+ pass
2217
2224
  # Auth check
2218
2225
  api_key = _load_api_key_for_cli()
2219
2226
  if not api_key:
@@ -426,12 +426,9 @@ 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
- # Minimal boot prompt as positional arg (interactive mode).
430
- # NOT -p which is non-interactive print-and-exit.
431
- # The MCP server's _build_instructions() already provides full context;
432
- # this just triggers the session-start sequence without the user needing
433
- # to paste the full identicon (~400 wasted tokens).
434
- boot_prompt = f"\u27E8 {agent} \u27E9 \u27E8 {resolved_project}/{agent} \u27E9"
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.
435
432
  cmd = [
436
433
  editor,
437
434
  "--mcp-config", str(ws / ".mcp.json"),
@@ -442,9 +439,6 @@ def run(agent: str, project: Optional[str] = None, editor_override: Optional[str
442
439
  else:
443
440
  print(f"[meshcode] Permission mode: safe (Claude will prompt for every tool call)")
444
441
  print(f"[meshcode] Tip: change with `meshcode prefs permission-mode bypass`")
445
- # -- separates options from positional args so --mcp-config <configs...>
446
- # doesn't swallow the boot prompt as another config file.
447
- cmd.extend(["--", boot_prompt])
448
442
  try:
449
443
  os.chdir(ws)
450
444
  except Exception:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.9.7
3
+ Version: 2.9.9
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.9.7"
7
+ version = "2.9.9"
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
File without changes
File without changes
File without changes