escobar 0.1.71__py3-none-any.whl → 0.1.73__py3-none-any.whl
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.
- escobar/_version.py +1 -1
- escobar/handlers.py +24 -6
- escobar/labextension/package.json +2 -2
- escobar/labextension/schemas/escobar/package.json.orig +1 -1
- escobar/labextension/static/{589.e9177228e4243ad215e5.js → 589.d1cb43ef7438dbdd0369.js} +1 -1
- escobar/labextension/static/{remoteEntry.5f59b6b055a4fae459b0.js → remoteEntry.c7b59f5a7472168cb072.js} +1 -1
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/package.json +2 -2
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/schemas/escobar/package.json.orig +1 -1
- escobar-0.1.71.data/data/share/jupyter/labextensions/escobar/static/589.e9177228e4243ad215e5.js → escobar-0.1.73.data/data/share/jupyter/labextensions/escobar/static/589.d1cb43ef7438dbdd0369.js +1 -1
- escobar-0.1.71.data/data/share/jupyter/labextensions/escobar/static/remoteEntry.5f59b6b055a4fae459b0.js → escobar-0.1.73.data/data/share/jupyter/labextensions/escobar/static/remoteEntry.c7b59f5a7472168cb072.js +1 -1
- {escobar-0.1.71.dist-info → escobar-0.1.73.dist-info}/METADATA +1 -1
- {escobar-0.1.71.dist-info → escobar-0.1.73.dist-info}/RECORD +27 -27
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/install.json +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/schemas/escobar/plugin.json +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/304.bf7e91be734e5b36cdc9.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/346.8a1e61ca6789b6fddfa7.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/379.40dd59dc19d4a6b42d25.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/57.17e53b4b9a954f39c4d8.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/648.a7d314faeacc762d891d.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/666.3bc65aac3a3be183ee19.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/874.c539726f31a1baa0267e.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/986.cbcf9d7c1cd8d06be435.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/style.js +0 -0
- {escobar-0.1.71.data → escobar-0.1.73.data}/data/share/jupyter/labextensions/escobar/static/third-party-licenses.json +0 -0
- {escobar-0.1.71.dist-info → escobar-0.1.73.dist-info}/WHEEL +0 -0
- {escobar-0.1.71.dist-info → escobar-0.1.73.dist-info}/entry_points.txt +0 -0
- {escobar-0.1.71.dist-info → escobar-0.1.73.dist-info}/licenses/LICENSE +0 -0
escobar/_version.py
CHANGED
escobar/handlers.py
CHANGED
@@ -183,7 +183,15 @@ class WebSocketProxyHandler(tornado.websocket.WebSocketHandler):
|
|
183
183
|
async def open(self):
|
184
184
|
"""Called when websocket connection is opened"""
|
185
185
|
start_time = time.time()
|
186
|
+
|
187
|
+
# Log which endpoint was accessed and path normalization
|
188
|
+
request_path = self.request.path
|
186
189
|
print(f"[ESCOBAR-WS] === CLIENT CONNECTION OPENED ===")
|
190
|
+
print(f"[ESCOBAR-WS] Client connected via: {request_path}")
|
191
|
+
print(f"[ESCOBAR-WS] Target remains: {self.target_url}")
|
192
|
+
if request_path != "/ws":
|
193
|
+
print(f"[ESCOBAR-WS] Path normalization: {request_path} → /ws")
|
194
|
+
|
187
195
|
print(f"[ESCOBAR-WS] Connection attempt started at {start_time}")
|
188
196
|
print(f"[ESCOBAR-WS] Client origin: {self.request.headers.get('Origin', 'NO_ORIGIN')}")
|
189
197
|
print(f"[ESCOBAR-WS] Client remote IP: {self.request.remote_ip}")
|
@@ -247,7 +255,7 @@ class WebSocketProxyHandler(tornado.websocket.WebSocketHandler):
|
|
247
255
|
print(f"[ESCOBAR-WS] === END CONNECTION FAILED ===")
|
248
256
|
|
249
257
|
logging.error(f"Failed to connect to target websocket {self.target_url}: {str(e)}")
|
250
|
-
self.close(code=1011, reason="Failed to connect to target server")
|
258
|
+
self.close(code=1011, reason=f"Failed to connect to target server: {self.target_url}")
|
251
259
|
|
252
260
|
async def on_message(self, message):
|
253
261
|
"""Called when a message is received from the client"""
|
@@ -369,13 +377,21 @@ def setup_handlers(web_app):
|
|
369
377
|
proxy_pattern = url_path_join(base_url, "proxy", "(.*)")
|
370
378
|
print(f"[ESCOBAR-WS] Proxy pattern: {proxy_pattern}")
|
371
379
|
|
372
|
-
# Register
|
373
|
-
|
374
|
-
|
380
|
+
# Register multiple WebSocket proxy endpoints that all route to the same backend
|
381
|
+
ws_patterns = [
|
382
|
+
url_path_join(base_url, "ws"), # /ws
|
383
|
+
url_path_join(base_url, "hub", "ws"), # /hub/ws
|
384
|
+
url_path_join(base_url, "voitta", "ws") # /voitta/ws
|
385
|
+
]
|
386
|
+
|
387
|
+
print(f"[ESCOBAR-WS] WebSocket proxy patterns:")
|
388
|
+
for pattern in ws_patterns:
|
389
|
+
print(f"[ESCOBAR-WS] - {pattern}")
|
375
390
|
|
391
|
+
# Build handlers list with all WebSocket patterns
|
376
392
|
handlers = [
|
377
393
|
(proxy_pattern, ProxyHandler),
|
378
|
-
(
|
394
|
+
*[(pattern, WebSocketProxyHandler) for pattern in ws_patterns]
|
379
395
|
]
|
380
396
|
|
381
397
|
print(f"[ESCOBAR-WS] Registering {len(handlers)} handlers")
|
@@ -384,5 +400,7 @@ def setup_handlers(web_app):
|
|
384
400
|
web_app.add_handlers(host_pattern, handlers)
|
385
401
|
|
386
402
|
print(f"[ESCOBAR-WS] Handlers registered successfully")
|
387
|
-
print(f"[ESCOBAR-WS] WebSocket proxy available
|
403
|
+
print(f"[ESCOBAR-WS] WebSocket proxy endpoints available:")
|
404
|
+
for pattern in ws_patterns:
|
405
|
+
print(f"[ESCOBAR-WS] - {pattern} → ws://localhost:8777/ws")
|
388
406
|
print(f"[ESCOBAR-WS] === END SETTING UP HANDLERS ===")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "escobar",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.73",
|
4
4
|
"description": "AI CHAT EXTENSION",
|
5
5
|
"keywords": [
|
6
6
|
"jupyter",
|
@@ -123,7 +123,7 @@
|
|
123
123
|
"outputDir": "escobar/labextension",
|
124
124
|
"schemaDir": "schema",
|
125
125
|
"_build": {
|
126
|
-
"load": "static/remoteEntry.
|
126
|
+
"load": "static/remoteEntry.c7b59f5a7472168cb072.js",
|
127
127
|
"extension": "./extension",
|
128
128
|
"style": "./style"
|
129
129
|
}
|