ghosttrap-cli 0.3.13__tar.gz → 0.3.14__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.
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/PKG-INFO +1 -1
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli/cli.py +12 -2
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli.egg-info/PKG-INFO +1 -1
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/pyproject.toml +1 -1
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/README.md +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli/__init__.py +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli.egg-info/SOURCES.txt +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli.egg-info/dependency_links.txt +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli.egg-info/entry_points.txt +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli.egg-info/requires.txt +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/ghosttrap_cli.egg-info/top_level.txt +0 -0
- {ghosttrap_cli-0.3.13 → ghosttrap_cli-0.3.14}/setup.cfg +0 -0
|
@@ -23,7 +23,7 @@ KNOWN_SKILL_HASHES = {
|
|
|
23
23
|
"bf7768c3de266b7018d5c722c6c9991b487e7897786b3a406c460842cdcde8b5", # v0.3.12
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
__version__ = "0.3.
|
|
26
|
+
__version__ = "0.3.14"
|
|
27
27
|
|
|
28
28
|
GHOSTTRAP_SERVER = "wss://ghosttrap.io/stream/"
|
|
29
29
|
CONFIG_DIR = os.path.expanduser("~/.ghosttrap")
|
|
@@ -225,6 +225,10 @@ async def _connect_and_handle(server_url, token, config, once=False):
|
|
|
225
225
|
async for message in ws:
|
|
226
226
|
event = json.loads(message)
|
|
227
227
|
|
|
228
|
+
if event.get("type") == "rejected":
|
|
229
|
+
print(f"error: {event.get('message', event.get('code', 'rejected by server'))}", file=sys.stderr)
|
|
230
|
+
sys.exit(1)
|
|
231
|
+
|
|
228
232
|
if event.get("type") == "subscribed":
|
|
229
233
|
repos = event.get("repos", [])
|
|
230
234
|
print(f"watching {len(repos)} repo(s)", file=sys.stderr)
|
|
@@ -316,8 +320,12 @@ async def setup(server_url, token):
|
|
|
316
320
|
message = await asyncio.wait_for(ws.recv(), timeout=30)
|
|
317
321
|
event = json.loads(message)
|
|
318
322
|
|
|
323
|
+
if event.get("type") == "rejected":
|
|
324
|
+
print(f"error: {event.get('message', event.get('code', 'rejected by server'))}", file=sys.stderr)
|
|
325
|
+
sys.exit(1)
|
|
326
|
+
|
|
319
327
|
if event.get("type") != "subscribed":
|
|
320
|
-
print("error: unexpected response from server", file=sys.stderr)
|
|
328
|
+
print(f"error: unexpected response from server: {event}", file=sys.stderr)
|
|
321
329
|
sys.exit(1)
|
|
322
330
|
|
|
323
331
|
repos = event.get("repos", [])
|
|
@@ -334,6 +342,8 @@ async def setup(server_url, token):
|
|
|
334
342
|
|
|
335
343
|
print("done — Claude Code will take it from here\n", file=sys.stderr)
|
|
336
344
|
|
|
345
|
+
except SystemExit:
|
|
346
|
+
raise
|
|
337
347
|
except Exception as e:
|
|
338
348
|
print(f"error: {e}", file=sys.stderr)
|
|
339
349
|
sys.exit(1)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|