hyper-sentinel 2.3.2__tar.gz → 2.3.3__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.
- {hyper_sentinel-2.3.2/src/hyper_sentinel.egg-info → hyper_sentinel-2.3.3}/PKG-INFO +1 -1
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/pyproject.toml +1 -1
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3/src/hyper_sentinel.egg-info}/PKG-INFO +1 -1
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/sentinel/__init__.py +1 -1
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/sentinel/cli.py +24 -4
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/LICENSE +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/README.md +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/setup.cfg +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/hyper_sentinel.egg-info/SOURCES.txt +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/hyper_sentinel.egg-info/dependency_links.txt +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/hyper_sentinel.egg-info/entry_points.txt +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/hyper_sentinel.egg-info/requires.txt +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/hyper_sentinel.egg-info/top_level.txt +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/sentinel/client.py +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/sentinel/exceptions.py +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/sentinel/py.typed +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/tests/test_client.py +0 -0
- {hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/tests/test_integration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyper-sentinel
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3
|
|
4
4
|
Summary: Python SDK for Sentinel — 80+ crypto trading, AI, and market intelligence tools. Free access, usage-based fees.
|
|
5
5
|
Author-email: Sentinel Labs <dev@hyper-sentinel.com>
|
|
6
6
|
License-Expression: AGPL-3.0-only
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hyper-sentinel"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.3"
|
|
8
8
|
description = "Python SDK for Sentinel — 80+ crypto trading, AI, and market intelligence tools. Free access, usage-based fees."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "AGPL-3.0-only"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyper-sentinel
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.3
|
|
4
4
|
Summary: Python SDK for Sentinel — 80+ crypto trading, AI, and market intelligence tools. Free access, usage-based fees.
|
|
5
5
|
Author-email: Sentinel Labs <dev@hyper-sentinel.com>
|
|
6
6
|
License-Expression: AGPL-3.0-only
|
|
@@ -543,6 +543,8 @@ def _show_status():
|
|
|
543
543
|
if config.get("sentinel_api_key"):
|
|
544
544
|
key_preview = config["sentinel_api_key"][:16] + "..."
|
|
545
545
|
auth.add_row("🔑 API Key", f"[s.green]● {key_preview}[/]", "~/.sentinel/config")
|
|
546
|
+
elif config.get("ai_key"):
|
|
547
|
+
auth.add_row("🔑 API Key", "[s.cyan]● AI key set[/] [s.dim](gateway sync pending)[/]", "~/.sentinel/config")
|
|
546
548
|
else:
|
|
547
549
|
auth.add_row("🔑 API Key", "[s.dim]○ Not configured[/]", "run sentinel-setup")
|
|
548
550
|
|
|
@@ -576,7 +578,7 @@ def _show_status():
|
|
|
576
578
|
gw.add_row("🔧 Tools", "[s.green]● 62+ registered[/]", "crypto · equities · AI · social · trading")
|
|
577
579
|
|
|
578
580
|
# Test connectivity if we have a key
|
|
579
|
-
if config.get("sentinel_api_key"):
|
|
581
|
+
if config.get("sentinel_api_key") or config.get("ai_key"):
|
|
580
582
|
gw.add_row("📶 Status", "[s.dim]run 'sentinel test' to verify[/]", "")
|
|
581
583
|
else:
|
|
582
584
|
gw.add_row("📶 Status", "[s.dim]○ Not authenticated[/]", "run sentinel-setup")
|
|
@@ -676,11 +678,29 @@ def _run_test():
|
|
|
676
678
|
padding=(0, 3),
|
|
677
679
|
))
|
|
678
680
|
|
|
679
|
-
if not config.get("sentinel_api_key"):
|
|
681
|
+
if not config.get("sentinel_api_key") and not config.get("ai_key"):
|
|
680
682
|
console.print(" [s.error]✗ No API key found[/] — run [bold]sentinel-setup[/] first.\n")
|
|
681
683
|
return
|
|
682
684
|
|
|
683
|
-
|
|
685
|
+
# If we have ai_key but no sentinel_api_key, try to register now
|
|
686
|
+
api_key = config.get("sentinel_api_key", "")
|
|
687
|
+
if not api_key and config.get("ai_key"):
|
|
688
|
+
console.print(" [s.dim]Registering with gateway...[/]", end=" ")
|
|
689
|
+
result = _register_with_gateway(config["ai_key"])
|
|
690
|
+
if result.get("api_key"):
|
|
691
|
+
api_key = result["api_key"]
|
|
692
|
+
config["sentinel_api_key"] = api_key
|
|
693
|
+
config["user_id"] = result.get("user_id", "")
|
|
694
|
+
config["tier"] = result.get("tier", "free")
|
|
695
|
+
_save_config(config)
|
|
696
|
+
console.print("[s.cyan]✓[/]")
|
|
697
|
+
else:
|
|
698
|
+
console.print("[s.dim]gateway unavailable — test may fail[/]")
|
|
699
|
+
|
|
700
|
+
if not api_key:
|
|
701
|
+
console.print(" [s.error]✗ Could not obtain API key from gateway.[/]\n")
|
|
702
|
+
return
|
|
703
|
+
|
|
684
704
|
key_preview = api_key[:16] + "..."
|
|
685
705
|
console.print(f" [s.dim]Key: {key_preview}[/]")
|
|
686
706
|
console.print(f" [s.dim]Gateway: {GATEWAY_URL}[/]")
|
|
@@ -697,7 +717,7 @@ def _run_test():
|
|
|
697
717
|
import httpx
|
|
698
718
|
client = httpx.Client(
|
|
699
719
|
base_url=GATEWAY_URL,
|
|
700
|
-
timeout=
|
|
720
|
+
timeout=10.0,
|
|
701
721
|
headers={"X-API-Key": api_key, "Content-Type": "application/json"},
|
|
702
722
|
)
|
|
703
723
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyper_sentinel-2.3.2 → hyper_sentinel-2.3.3}/src/hyper_sentinel.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|