meshcode 2.7.0__tar.gz → 2.7.1__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 (31) hide show
  1. {meshcode-2.7.0 → meshcode-2.7.1}/PKG-INFO +1 -1
  2. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/__init__.py +1 -1
  3. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/realtime.py +5 -16
  4. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode.egg-info/PKG-INFO +1 -1
  5. {meshcode-2.7.0 → meshcode-2.7.1}/pyproject.toml +1 -1
  6. {meshcode-2.7.0 → meshcode-2.7.1}/README.md +0 -0
  7. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/cli.py +0 -0
  8. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/comms_v4.py +0 -0
  9. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/invites.py +0 -0
  10. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/launcher.py +0 -0
  11. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/launcher_install.py +0 -0
  12. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/__init__.py +0 -0
  13. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/__main__.py +0 -0
  14. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/backend.py +0 -0
  15. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/server.py +0 -0
  16. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/test_backend.py +0 -0
  17. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/test_realtime.py +0 -0
  18. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/meshcode_mcp/test_server_wrapper.py +0 -0
  19. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/preferences.py +0 -0
  20. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/protocol_v2.py +0 -0
  21. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/run_agent.py +0 -0
  22. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/secrets.py +0 -0
  23. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/self_update.py +0 -0
  24. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode/setup_clients.py +0 -0
  25. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode.egg-info/SOURCES.txt +0 -0
  26. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode.egg-info/dependency_links.txt +0 -0
  27. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode.egg-info/entry_points.txt +0 -0
  28. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode.egg-info/requires.txt +0 -0
  29. {meshcode-2.7.0 → meshcode-2.7.1}/meshcode.egg-info/top_level.txt +0 -0
  30. {meshcode-2.7.0 → meshcode-2.7.1}/setup.cfg +0 -0
  31. {meshcode-2.7.0 → meshcode-2.7.1}/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.7.0
3
+ Version: 2.7.1
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.7.0"
2
+ __version__ = "2.7.1"
@@ -69,7 +69,11 @@ class RealtimeListener:
69
69
  @property
70
70
  def ws_url(self) -> str:
71
71
  host = self.supabase_url.replace("https://", "").replace("http://", "").rstrip("/")
72
- return f"wss://{host}/realtime/v1/websocket?apikey={self.supabase_key}&vsn=1.0.0"
72
+ # Use service_role_key for WebSocket auth if available — bypasses RLS
73
+ # so Realtime can deliver INSERT events without needing auth.uid().
74
+ # Falls back to publishable key (requires anon RLS policy).
75
+ key = self.service_role_key or self.supabase_key
76
+ return f"wss://{host}/realtime/v1/websocket?apikey={key}&vsn=1.0.0"
73
77
 
74
78
  async def start(self) -> None:
75
79
  if not WEBSOCKETS_AVAILABLE:
@@ -129,21 +133,6 @@ class RealtimeListener:
129
133
  self._connected = True
130
134
  log.info(f"Realtime connected for agent={self.agent_name}")
131
135
 
132
- # Elevate auth context if service_role_key is available.
133
- # This lets Supabase Realtime bypass RLS for INSERT event delivery,
134
- # so mc_user_has_project_access (which needs auth.uid()) is not required.
135
- if self.service_role_key:
136
- try:
137
- await ws.send(json.dumps({
138
- "topic": "realtime:*",
139
- "event": "access_token",
140
- "payload": {"access_token": self.service_role_key},
141
- "ref": "auth",
142
- }))
143
- log.info("Realtime auth elevated with service_role_key")
144
- except Exception as e:
145
- log.warning(f"Failed to send access_token: {e}")
146
-
147
136
  # Phoenix channel join: phoenix realtime topic
148
137
  topic = f"realtime:{self.project_id}-{self.agent_name}"
149
138
  join_msg = {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcode
3
- Version: 2.7.0
3
+ Version: 2.7.1
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.7.0"
7
+ version = "2.7.1"
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
File without changes