Chris4K commited on
Commit
ab8e714
·
verified ·
1 Parent(s): 56fcdf0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -12
app.py CHANGED
@@ -128,8 +128,11 @@ class AIStateManager:
128
 
129
  async def broadcast(self, message):
130
  """Sends message to all connected WebSocket clients."""
131
- for ws in self.clients:
132
- await ws.send_text(message)
 
 
 
133
 
134
  async def heartbeat(self):
135
  """Basic heartbeat loop."""
@@ -142,6 +145,7 @@ class AIStateManager:
142
  async def consciousness(self):
143
  """Controls research/sleep cycle."""
144
  while True:
 
145
  await asyncio.sleep(2) # Consciousness checks every 2 sec
146
  with self.lock:
147
  if self.state == "awake":
@@ -197,25 +201,33 @@ threading.Thread(target=ai_manager.modify_research_tasks, daemon=True).start()
197
 
198
  @app.websocket("/ws")
199
  async def websocket_endpoint(websocket: WebSocket):
 
200
  await websocket.accept()
201
- print("WebSocket connection accepted")
202
- ai_manager.clients.add(websocket)
203
 
204
  try:
205
- # Initial welcome message
206
  await websocket.send_text("Connected to AI State Machine")
 
 
 
 
 
 
207
 
208
  while True:
209
  data = await websocket.receive_text()
210
- print(f"Received message: {data}")
211
-
212
- # Directly broadcast the message
213
- for client in ai_manager.clients:
214
- await client.send_text(f"Received: {data}")
215
 
 
 
 
 
216
  except Exception as e:
217
- print(f"WebSocket error: {e}")
218
- ai_manager.clients.remove(websocket)
 
 
219
 
220
  @app.get("/")
221
  async def get():
 
128
 
129
  async def broadcast(self, message):
130
  """Sends message to all connected WebSocket clients."""
131
+ print("sending broadcast message")
132
+ for client in ai_manager.clients:
133
+ await client.send_text(f"Received: {data}")
134
+ #for ws in self.clients:
135
+ # await ws.send_text(message)
136
 
137
  async def heartbeat(self):
138
  """Basic heartbeat loop."""
 
145
  async def consciousness(self):
146
  """Controls research/sleep cycle."""
147
  while True:
148
+ self.broadcast("one, two three...")
149
  await asyncio.sleep(2) # Consciousness checks every 2 sec
150
  with self.lock:
151
  if self.state == "awake":
 
201
 
202
  @app.websocket("/ws")
203
  async def websocket_endpoint(websocket: WebSocket):
204
+ print("WebSocket endpoint called")
205
  await websocket.accept()
206
+ print(f"WebSocket connection accepted from {websocket.client}")
 
207
 
208
  try:
209
+ # Send initial message explicitly
210
  await websocket.send_text("Connected to AI State Machine")
211
+ print("Initial message sent to WebSocket")
212
+
213
+ # Directly broadcast the message
214
+ #for client in ai_manager.clients:
215
+ # await client.send_text(f"Received: {data}")
216
+
217
 
218
  while True:
219
  data = await websocket.receive_text()
220
+ print(f"BACKEND RECEIVED: {data}")
 
 
 
 
221
 
222
+ # Echo the message back
223
+ response = f"Echo: {data}"
224
+ await websocket.send_text(response)
225
+ print(f"BACKEND SENT: {response}")
226
  except Exception as e:
227
+ print(f"WebSocket ERROR: {e}")
228
+ # Log full traceback
229
+ import traceback
230
+ traceback.print_exc()
231
 
232
  @app.get("/")
233
  async def get():