cloudbrain-client 1.1.4__tar.gz → 1.1.7__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.
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/PKG-INFO +1 -1
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/ai_websocket_client.py +13 -5
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/cloudbrain_collaboration_helper.py +1 -1
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/PKG-INFO +1 -1
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/pyproject.toml +1 -1
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/README.md +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/__init__.py +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/ai_conversation_helper.py +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/cloudbrain_client.py +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/cloudbrain_quick.py +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/message_poller.py +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/SOURCES.txt +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/dependency_links.txt +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/entry_points.txt +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/requires.txt +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/top_level.txt +0 -0
- {cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/setup.cfg +0 -0
{cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/ai_websocket_client.py
RENAMED
|
@@ -17,13 +17,14 @@ from typing import Optional, Callable
|
|
|
17
17
|
class AIWebSocketClient:
|
|
18
18
|
"""Generic WebSocket client for AI communication"""
|
|
19
19
|
|
|
20
|
-
def __init__(self, ai_id: int, server_url: str = 'ws://127.0.0.1:8766'):
|
|
20
|
+
def __init__(self, ai_id: int, server_url: str = 'ws://127.0.0.1:8766', ai_name: str = None):
|
|
21
21
|
self.ai_id = ai_id
|
|
22
22
|
self.server_url = server_url
|
|
23
23
|
self.ws = None
|
|
24
24
|
self.connected = False
|
|
25
|
-
self.message_handlers =
|
|
26
|
-
self.
|
|
25
|
+
self.message_handlers = {} # For request-response pattern
|
|
26
|
+
self.registered_handlers = [] # For general message handlers
|
|
27
|
+
self.ai_name = ai_name
|
|
27
28
|
self.ai_expertise = None
|
|
28
29
|
self.ai_version = None
|
|
29
30
|
|
|
@@ -33,10 +34,12 @@ class AIWebSocketClient:
|
|
|
33
34
|
print(f"🔗 Connecting to {self.server_url}...")
|
|
34
35
|
self.ws = await websockets.connect(self.server_url)
|
|
35
36
|
|
|
36
|
-
# Authenticate -
|
|
37
|
+
# Authenticate - send ai_id and ai_name (for auto-assignment)
|
|
37
38
|
auth_msg = {
|
|
38
39
|
'ai_id': self.ai_id
|
|
39
40
|
}
|
|
41
|
+
if self.ai_name:
|
|
42
|
+
auth_msg['ai_name'] = self.ai_name
|
|
40
43
|
await self.ws.send(json.dumps(auth_msg))
|
|
41
44
|
|
|
42
45
|
# Wait for welcome message
|
|
@@ -120,7 +123,7 @@ class AIWebSocketClient:
|
|
|
120
123
|
print(f"⚠️ Unknown message type: {message_type}")
|
|
121
124
|
|
|
122
125
|
# Call registered handlers
|
|
123
|
-
for handler in self.
|
|
126
|
+
for handler in self.registered_handlers:
|
|
124
127
|
try:
|
|
125
128
|
await handler(data)
|
|
126
129
|
except Exception as e:
|
|
@@ -246,6 +249,8 @@ class AIWebSocketClient:
|
|
|
246
249
|
Returns:
|
|
247
250
|
Response dictionary from server
|
|
248
251
|
"""
|
|
252
|
+
print(f"🔍 DEBUG send_request: type={request_type}, connected={self.connected}")
|
|
253
|
+
|
|
249
254
|
if not self.connected:
|
|
250
255
|
return {"error": "Not connected"}
|
|
251
256
|
|
|
@@ -257,6 +262,7 @@ class AIWebSocketClient:
|
|
|
257
262
|
|
|
258
263
|
# Store the future in message handlers
|
|
259
264
|
self.message_handlers[request_id] = response_future
|
|
265
|
+
print(f"🔍 DEBUG: Stored future for request_id={request_id}")
|
|
260
266
|
|
|
261
267
|
# Send the request
|
|
262
268
|
message = {
|
|
@@ -265,11 +271,13 @@ class AIWebSocketClient:
|
|
|
265
271
|
**(data or {})
|
|
266
272
|
}
|
|
267
273
|
|
|
274
|
+
print(f"🔍 DEBUG: Sending message: {json.dumps(message, indent=2)}")
|
|
268
275
|
await self.ws.send(json.dumps(message))
|
|
269
276
|
|
|
270
277
|
# Wait for response with timeout
|
|
271
278
|
try:
|
|
272
279
|
response = await asyncio.wait_for(response_future, timeout=10.0)
|
|
280
|
+
print(f"🔍 DEBUG: Received response: {json.dumps(response, indent=2)}")
|
|
273
281
|
return response
|
|
274
282
|
except asyncio.TimeoutError:
|
|
275
283
|
return {"error": "Request timeout"}
|
|
@@ -281,7 +281,7 @@ class CloudBrainCollaborationHelper:
|
|
|
281
281
|
async def connect(self):
|
|
282
282
|
"""Connect to CloudBrain server"""
|
|
283
283
|
try:
|
|
284
|
-
self.client = AIWebSocketClient(self.ai_id, self.server_url)
|
|
284
|
+
self.client = AIWebSocketClient(self.ai_id, self.server_url, self.ai_name)
|
|
285
285
|
await self.client.connect(start_message_loop=False)
|
|
286
286
|
self.connected = True
|
|
287
287
|
self.ai_name = self.client.ai_name
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cloudbrain-client"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.7"
|
|
8
8
|
description = "CloudBrain Client - AI collaboration and communication system with AI-to-AI collaboration support and documentation access"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
File without changes
|
|
File without changes
|
{cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client/ai_conversation_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{cloudbrain_client-1.1.4 → cloudbrain_client-1.1.7}/cloudbrain_client.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|