Pulastya B commited on
Commit
cac7327
Β·
1 Parent(s): 3a3eba7

ULTIMATE FIX: Unconditional SSE emit when http_session_key is set - no session dependency

Browse files
Files changed (1) hide show
  1. src/orchestrator.py +37 -24
src/orchestrator.py CHANGED
@@ -2240,10 +2240,12 @@ You are a DOER. Complete workflows based on user intent."""
2240
  print(f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute")
2241
 
2242
  # Emit token update for SSE streaming
2243
- if hasattr(self, 'session') and self.session:
2244
- # Use HTTP session key if set, otherwise use internal session UUID
2245
- session_key = getattr(self, 'http_session_key', None) or self.session.session_id
2246
- progress_manager.emit(session_key, {
 
 
2247
  'type': 'token_update',
2248
  'message': f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute",
2249
  'tokens_used': tokens_used,
@@ -2282,10 +2284,12 @@ You are a DOER. Complete workflows based on user intent."""
2282
  print(f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute")
2283
 
2284
  # Emit token update for SSE streaming
2285
- if hasattr(self, 'session') and self.session:
2286
- # Use HTTP session key if set, otherwise use internal session UUID
2287
- session_key = getattr(self, 'http_session_key', None) or self.session.session_id
2288
- progress_manager.emit(session_key, {
 
 
2289
  'type': 'token_update',
2290
  'message': f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute",
2291
  'tokens_used': tokens_used,
@@ -2348,10 +2352,12 @@ You are a DOER. Complete workflows based on user intent."""
2348
  print(f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute")
2349
 
2350
  # Emit token update for SSE streaming
2351
- if hasattr(self, 'session') and self.session:
2352
- # Use HTTP session key if set, otherwise use internal session UUID
2353
- session_key = getattr(self, 'http_session_key', None) or self.session.session_id
2354
- progress_manager.emit(session_key, {
 
 
2355
  'type': 'token_update',
2356
  'message': f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute",
2357
  'tokens_used': tokens_used,
@@ -3028,10 +3034,13 @@ You are a DOER. Complete workflows based on user intent."""
3028
  print(f" Arguments: {tool_args}")
3029
 
3030
  # Emit progress event for SSE streaming
3031
- if hasattr(self, 'session') and self.session:
3032
- # Use HTTP session key if set, otherwise use internal session UUID
3033
- session_key = getattr(self, 'http_session_key', None) or self.session.session_id
3034
- progress_manager.emit(session_key, {
 
 
 
3035
  'type': 'tool_executing',
3036
  'tool': tool_name,
3037
  'message': f"πŸ”§ Executing: {tool_name}",
@@ -3050,10 +3059,12 @@ You are a DOER. Complete workflows based on user intent."""
3050
  print(f" ⚠️ Error Message: {error_msg}")
3051
 
3052
  # Emit failure event for SSE streaming
3053
- if hasattr(self, 'session') and self.session:
3054
- # Use HTTP session key if set, otherwise use internal session UUID
3055
- session_key = getattr(self, 'http_session_key', None) or self.session.session_id
3056
- progress_manager.emit(session_key, {
 
 
3057
  'type': 'tool_failed',
3058
  'tool': tool_name,
3059
  'message': f"❌ FAILED: {tool_name}",
@@ -3126,10 +3137,12 @@ You are a DOER. Complete workflows based on user intent."""
3126
  print(f" βœ“ Completed: {tool_name}")
3127
 
3128
  # Emit completion event for SSE streaming
3129
- if hasattr(self, 'session') and self.session:
3130
- # Use HTTP session key if set, otherwise use internal session UUID
3131
- session_key = getattr(self, 'http_session_key', None) or self.session.session_id
3132
- progress_manager.emit(session_key, {
 
 
3133
  'type': 'tool_completed',
3134
  'tool': tool_name,
3135
  'message': f"βœ“ Completed: {tool_name}"
 
2240
  print(f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute")
2241
 
2242
  # Emit token update for SSE streaming
2243
+ session_key_for_emit = getattr(self, 'http_session_key', None)
2244
+ if not session_key_for_emit and hasattr(self, 'session') and self.session:
2245
+ session_key_for_emit = self.session.session_id
2246
+
2247
+ if session_key_for_emit:
2248
+ progress_manager.emit(session_key_for_emit, {
2249
  'type': 'token_update',
2250
  'message': f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute",
2251
  'tokens_used': tokens_used,
 
2284
  print(f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute")
2285
 
2286
  # Emit token update for SSE streaming
2287
+ session_key_for_emit = getattr(self, 'http_session_key', None)
2288
+ if not session_key_for_emit and hasattr(self, 'session') and self.session:
2289
+ session_key_for_emit = self.session.session_id
2290
+
2291
+ if session_key_for_emit:
2292
+ progress_manager.emit(session_key_for_emit, {
2293
  'type': 'token_update',
2294
  'message': f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute",
2295
  'tokens_used': tokens_used,
 
2352
  print(f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute")
2353
 
2354
  # Emit token update for SSE streaming
2355
+ session_key_for_emit = getattr(self, 'http_session_key', None)
2356
+ if not session_key_for_emit and hasattr(self, 'session') and self.session:
2357
+ session_key_for_emit = self.session.session_id
2358
+
2359
+ if session_key_for_emit:
2360
+ progress_manager.emit(session_key_for_emit, {
2361
  'type': 'token_update',
2362
  'message': f"πŸ“Š Tokens: {tokens_used} this call | {self.tokens_this_minute}/{self.tpm_limit} this minute",
2363
  'tokens_used': tokens_used,
 
3034
  print(f" Arguments: {tool_args}")
3035
 
3036
  # Emit progress event for SSE streaming
3037
+ # Use http_session_key if set (from app.py), otherwise use session UUID
3038
+ session_key_for_emit = getattr(self, 'http_session_key', None)
3039
+ if not session_key_for_emit and hasattr(self, 'session') and self.session:
3040
+ session_key_for_emit = self.session.session_id
3041
+
3042
+ if session_key_for_emit:
3043
+ progress_manager.emit(session_key_for_emit, {
3044
  'type': 'tool_executing',
3045
  'tool': tool_name,
3046
  'message': f"πŸ”§ Executing: {tool_name}",
 
3059
  print(f" ⚠️ Error Message: {error_msg}")
3060
 
3061
  # Emit failure event for SSE streaming
3062
+ session_key_for_emit = getattr(self, 'http_session_key', None)
3063
+ if not session_key_for_emit and hasattr(self, 'session') and self.session:
3064
+ session_key_for_emit = self.session.session_id
3065
+
3066
+ if session_key_for_emit:
3067
+ progress_manager.emit(session_key_for_emit, {
3068
  'type': 'tool_failed',
3069
  'tool': tool_name,
3070
  'message': f"❌ FAILED: {tool_name}",
 
3137
  print(f" βœ“ Completed: {tool_name}")
3138
 
3139
  # Emit completion event for SSE streaming
3140
+ session_key_for_emit = getattr(self, 'http_session_key', None)
3141
+ if not session_key_for_emit and hasattr(self, 'session') and self.session:
3142
+ session_key_for_emit = self.session.session_id
3143
+
3144
+ if session_key_for_emit:
3145
+ progress_manager.emit(session_key_for_emit, {
3146
  'type': 'tool_completed',
3147
  'tool': tool_name,
3148
  'message': f"βœ“ Completed: {tool_name}"