meshagent-api 0.44.9__tar.gz → 0.44.11__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 (66) hide show
  1. {meshagent_api-0.44.9/meshagent_api.egg-info → meshagent_api-0.44.11}/PKG-INFO +1 -1
  2. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/client.py +9 -1
  3. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/client_test.py +37 -0
  4. meshagent_api-0.44.11/meshagent/api/version.py +1 -0
  5. {meshagent_api-0.44.9 → meshagent_api-0.44.11/meshagent_api.egg-info}/PKG-INFO +1 -1
  6. meshagent_api-0.44.9/meshagent/api/version.py +0 -1
  7. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/LICENSE +0 -0
  8. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/MANIFEST.in +0 -0
  9. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/README.md +0 -0
  10. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/__init__.py +0 -0
  11. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/agent_content.py +0 -0
  12. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/aiohttp_redaction.py +0 -0
  13. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/chan.py +0 -0
  14. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/crdt.py +0 -0
  15. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/dataset_schema.py +0 -0
  16. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/entrypoint.js +0 -0
  17. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/error_codes.py +0 -0
  18. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/helpers.py +0 -0
  19. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/http.py +0 -0
  20. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/image_runtime.py +0 -0
  21. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/keys.py +0 -0
  22. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/managed_agents.py +0 -0
  23. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/managed_agents_test.py +0 -0
  24. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/messaging.py +0 -0
  25. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/messaging_test.py +0 -0
  26. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/oauth.py +0 -0
  27. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/oauth_scopes.py +0 -0
  28. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/oauth_scopes_test.py +0 -0
  29. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/participant.py +0 -0
  30. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/participant_token.py +0 -0
  31. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/participant_token_test.py +0 -0
  32. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/port_forward.py +0 -0
  33. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/port_forward_test.py +0 -0
  34. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/protocol.py +0 -0
  35. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/protocol_test.py +0 -0
  36. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/py.typed +0 -0
  37. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/reasoning_schema.py +0 -0
  38. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/registry_auth.py +0 -0
  39. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/room_ports.py +0 -0
  40. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/room_server_client.py +0 -0
  41. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/room_server_client_test.py +0 -0
  42. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/runtime.py +0 -0
  43. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/runtime_test.py +0 -0
  44. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/schema.py +0 -0
  45. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/schema_document.py +0 -0
  46. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/schema_document_test.py +0 -0
  47. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/schema_registry.py +0 -0
  48. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/schema_test.py +0 -0
  49. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/schema_util.py +0 -0
  50. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/service_spec_test.py +0 -0
  51. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/service_template_test.py +0 -0
  52. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/services.py +0 -0
  53. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/specs/service.py +0 -0
  54. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/sql.py +0 -0
  55. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/sql_test.py +0 -0
  56. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/token_test.py +0 -0
  57. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/urls.py +0 -0
  58. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/webhooks.py +0 -0
  59. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/websocket_protocol.py +0 -0
  60. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent/api/websocket_protocol_test.py +0 -0
  61. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent_api.egg-info/SOURCES.txt +0 -0
  62. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent_api.egg-info/dependency_links.txt +0 -0
  63. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent_api.egg-info/requires.txt +0 -0
  64. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/meshagent_api.egg-info/top_level.txt +0 -0
  65. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/pyproject.toml +0 -0
  66. {meshagent_api-0.44.9 → meshagent_api-0.44.11}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshagent-api
3
- Version: 0.44.9
3
+ Version: 0.44.11
4
4
  Summary: Python Server API for Meshagent
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Documentation, https://docs.meshagent.com
@@ -3673,12 +3673,20 @@ class Meshagent:
3673
3673
  Returns Room.
3674
3674
  """
3675
3675
  url = f"{self.base_url}/accounts/projects/{project_id}/rooms"
3676
+ permissions_payload = (
3677
+ {
3678
+ user_id: scope.model_dump(mode="json")
3679
+ for user_id, scope in permissions.items()
3680
+ }
3681
+ if permissions is not None
3682
+ else None
3683
+ )
3676
3684
  payload = {
3677
3685
  "name": name,
3678
3686
  "if_not_exists": bool(if_not_exists),
3679
3687
  "metadata": metadata,
3680
3688
  "annotations": annotations,
3681
- "permissions": permissions,
3689
+ "permissions": permissions_payload,
3682
3690
  }
3683
3691
  async with self._session.post(
3684
3692
  url, headers=self._get_headers(), json=payload
@@ -852,6 +852,43 @@ async def test_validate_participant_token_fetches_validated_token():
852
852
  ]
853
853
 
854
854
 
855
+ @pytest.mark.asyncio
856
+ async def test_create_room_serializes_permissions_payload():
857
+ room_payload = {
858
+ "id": "room-1",
859
+ "name": "room-a",
860
+ "metadata": {},
861
+ "annotations": {},
862
+ "permissions": {},
863
+ }
864
+ session = _FakeSession([_FakeResponse(status=200, payload=room_payload)])
865
+ client = Meshagent(base_url="http://example.test", token="token", session=session)
866
+
867
+ room = await client.create_room(
868
+ project_id="proj_123",
869
+ name="room-a",
870
+ if_not_exists=True,
871
+ metadata={"purpose": "test"},
872
+ annotations={"meshagent.storage.class": "ephemeral"},
873
+ permissions={"user-1": ApiScope.full()},
874
+ )
875
+
876
+ assert room.name == "room-a"
877
+ assert session.calls == [
878
+ (
879
+ "post",
880
+ "http://example.test/accounts/projects/proj_123/rooms",
881
+ {
882
+ "name": "room-a",
883
+ "if_not_exists": True,
884
+ "metadata": {"purpose": "test"},
885
+ "annotations": {"meshagent.storage.class": "ephemeral"},
886
+ "permissions": {"user-1": ApiScope.full().model_dump(mode="json")},
887
+ },
888
+ )
889
+ ]
890
+
891
+
855
892
  @pytest.mark.asyncio
856
893
  async def test_agent_crud_methods_use_agent_routes():
857
894
  configuration = ManagedAgentSpec(
@@ -0,0 +1 @@
1
+ __version__ = "0.44.11"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshagent-api
3
- Version: 0.44.9
3
+ Version: 0.44.11
4
4
  Summary: Python Server API for Meshagent
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Documentation, https://docs.meshagent.com
@@ -1 +0,0 @@
1
- __version__ = "0.44.9"
File without changes