snowglobe 0.4.2__tar.gz → 0.4.4__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.
- {snowglobe-0.4.2/src/snowglobe.egg-info → snowglobe-0.4.4}/PKG-INFO +1 -1
- {snowglobe-0.4.2 → snowglobe-0.4.4}/pyproject.toml +1 -1
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/cli.py +5 -3
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/cli_utils.py +5 -2
- {snowglobe-0.4.2 → snowglobe-0.4.4/src/snowglobe.egg-info}/PKG-INFO +1 -1
- {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_cli.py +3 -3
- {snowglobe-0.4.2 → snowglobe-0.4.4}/LICENSE +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/README.md +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/setup.cfg +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/__init__.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/app.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/config.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/models.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/project_manager.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/stats.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/utils.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/SOURCES.txt +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/dependency_links.txt +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/entry_points.txt +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/requires.txt +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/top_level.txt +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_app.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_config.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_heartbeat.py +0 -0
- {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_utils.py +0 -0
@@ -40,7 +40,9 @@ from .project_manager import get_project_manager
|
|
40
40
|
CONTROL_PLANE_URL = os.environ.get(
|
41
41
|
"CONTROL_PLANE_URL", "https://api.snowglobe.guardrailsai.com"
|
42
42
|
)
|
43
|
-
|
43
|
+
|
44
|
+
UI_URL = os.environ.get("UI_URL", "https://snowglobe.so/app")
|
45
|
+
|
44
46
|
SNOWGLOBE_AUTH_CONFIGURE_PORT = int(
|
45
47
|
os.environ.get("SNOWGLOBE_AUTH_CONFIGURE_PORT", 9001)
|
46
48
|
)
|
@@ -763,7 +765,7 @@ def start(
|
|
763
765
|
app_id = agent_info.get("uuid")
|
764
766
|
app_name = agent_info.get("name", "Application")
|
765
767
|
if app_id:
|
766
|
-
app_url = f"{UI_URL}/
|
768
|
+
app_url = f"{UI_URL}/agents/{app_id}"
|
767
769
|
console.print(
|
768
770
|
"🔗 Agent connected! Go to your Snowglobe agent and kick off a simulation:"
|
769
771
|
)
|
@@ -776,7 +778,7 @@ def start(
|
|
776
778
|
app_id = agent_info.get("uuid")
|
777
779
|
app_name = agent_info.get("name", "Application")
|
778
780
|
if app_id:
|
779
|
-
app_url = f"{UI_URL}/
|
781
|
+
app_url = f"{UI_URL}/agents/{app_id}"
|
780
782
|
console.print(
|
781
783
|
f" - {app_name}: [link={app_url}]{app_url}[/link]"
|
782
784
|
)
|
@@ -256,7 +256,7 @@ def smart_signal_handler(sig, frame):
|
|
256
256
|
sys.exit(0)
|
257
257
|
|
258
258
|
|
259
|
-
def graceful_shutdown():
|
259
|
+
def graceful_shutdown(_sig_num, _frame):
|
260
260
|
"""Handle graceful shutdown with session summary (idempotent, always exits 0).
|
261
261
|
|
262
262
|
This legacy entrypoint avoids toggling internal shutdown state so repeated
|
@@ -268,6 +268,9 @@ def graceful_shutdown():
|
|
268
268
|
console.print("\n[bold yellow]🛑 Graceful shutdown initiated...[/bold yellow]")
|
269
269
|
console.print("[dim]Press Ctrl+C again to force quit[/dim]")
|
270
270
|
|
271
|
+
if cli_state.verbose:
|
272
|
+
console.print(f"signal received: {_sig_num}, frame: {_frame}")
|
273
|
+
|
271
274
|
# Show session summary and exit cleanly
|
272
275
|
console.print("\n[bold blue]🛑 Shutting down...[/bold blue]")
|
273
276
|
show_session_summary()
|
@@ -321,7 +324,7 @@ def select_stateful_interactive(
|
|
321
324
|
info(
|
322
325
|
"If your agent takes messages and completions on a single completion endpoint regardless of context, you can answer no to the following question."
|
323
326
|
)
|
324
|
-
if Confirm.ask("Would you like to
|
327
|
+
if Confirm.ask("Would you like to initialize a stateful application?"):
|
325
328
|
return True
|
326
329
|
return False
|
327
330
|
|
@@ -52,7 +52,7 @@ class TestCli(unittest.TestCase):
|
|
52
52
|
|
53
53
|
# Check URL format
|
54
54
|
self.assertIn(
|
55
|
-
"snowglobe.
|
55
|
+
"snowglobe.so/app/keys/client-connect",
|
56
56
|
browser_url,
|
57
57
|
)
|
58
58
|
self.assertIn("port=9001", browser_url) # Default port
|
@@ -710,7 +710,7 @@ def process_scenario(request):
|
|
710
710
|
with mock.patch("sys.exit") as mock_exit:
|
711
711
|
from snowglobe.client.src.cli_utils import graceful_shutdown
|
712
712
|
|
713
|
-
graceful_shutdown()
|
713
|
+
graceful_shutdown(2, {})
|
714
714
|
|
715
715
|
mock_get_stats.assert_called_once()
|
716
716
|
mock_exit.assert_called_once_with(0)
|
@@ -724,7 +724,7 @@ def process_scenario(request):
|
|
724
724
|
}
|
725
725
|
|
726
726
|
with mock.patch("sys.exit") as mock_exit:
|
727
|
-
graceful_shutdown()
|
727
|
+
graceful_shutdown(2, {})
|
728
728
|
|
729
729
|
mock_exit.assert_called_once_with(0)
|
730
730
|
|
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
|
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
|
File without changes
|