snowglobe 0.4.5__tar.gz → 0.4.7__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.5/src/snowglobe.egg-info → snowglobe-0.4.7}/PKG-INFO +1 -1
- {snowglobe-0.4.5 → snowglobe-0.4.7}/pyproject.toml +1 -1
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/app.py +7 -16
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/cli.py +6 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/cli_utils.py +1 -1
- {snowglobe-0.4.5 → snowglobe-0.4.7/src/snowglobe.egg-info}/PKG-INFO +1 -1
- {snowglobe-0.4.5 → snowglobe-0.4.7}/tests/test_cli.py +4 -2
- {snowglobe-0.4.5 → snowglobe-0.4.7}/LICENSE +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/README.md +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/setup.cfg +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/__init__.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/config.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/models.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/project_manager.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/stats.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe/client/src/utils.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe.egg-info/SOURCES.txt +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe.egg-info/dependency_links.txt +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe.egg-info/entry_points.txt +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe.egg-info/requires.txt +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/src/snowglobe.egg-info/top_level.txt +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/tests/test_app.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/tests/test_config.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/tests/test_heartbeat.py +0 -0
- {snowglobe-0.4.5 → snowglobe-0.4.7}/tests/test_utils.py +0 -0
@@ -151,18 +151,18 @@ async def process_application_heartbeat(app_id):
|
|
151
151
|
f"Completion function for application {app_id} did not return a valid response. Expected a string, got {type(response.response)}"
|
152
152
|
)
|
153
153
|
connection_test_payload["status"] = "failed"
|
154
|
-
connection_test_payload[
|
155
|
-
"
|
156
|
-
)
|
154
|
+
connection_test_payload[
|
155
|
+
"error"
|
156
|
+
] = "Completion function did not return a valid response. Expected a string, got {type(response.response)}"
|
157
157
|
|
158
158
|
if response.response == "This is a string response from your application":
|
159
159
|
LOGGER.error(
|
160
160
|
f"Completion function for application {app_id} returned a default response. This indicates the application is not properly connected."
|
161
161
|
)
|
162
162
|
connection_test_payload["status"] = "failed"
|
163
|
-
connection_test_payload[
|
164
|
-
"
|
165
|
-
|
163
|
+
connection_test_payload[
|
164
|
+
"error"
|
165
|
+
] = "Completion function returned a default response. "
|
166
166
|
|
167
167
|
if connection_test_payload.get("status") != "failed":
|
168
168
|
connection_test_payload["response"] = response.response
|
@@ -693,17 +693,8 @@ async def lifespan(app: FastAPI):
|
|
693
693
|
)
|
694
694
|
continue
|
695
695
|
|
696
|
-
# Wrap process_scenario to match the expected completion_fn interface
|
697
|
-
def make_completion_fn(process_fn):
|
698
|
-
def completion_fn(request):
|
699
|
-
return process_fn(request)
|
700
|
-
|
701
|
-
return completion_fn
|
702
|
-
|
703
696
|
apps[app_id] = {
|
704
|
-
"completion_fn":
|
705
|
-
agent_module.process_scenario
|
706
|
-
),
|
697
|
+
"completion_fn": agent_module.process_scenario,
|
707
698
|
"name": app_name,
|
708
699
|
}
|
709
700
|
|
@@ -401,6 +401,8 @@ def test_agent_wrapper(filename: str, app_id: str, app_name: str) -> Tuple[bool,
|
|
401
401
|
return False, "Invalid response format"
|
402
402
|
|
403
403
|
except Exception as e:
|
404
|
+
import traceback
|
405
|
+
traceback.print_exc()
|
404
406
|
return False, f"Error: {str(e)}"
|
405
407
|
|
406
408
|
|
@@ -603,6 +605,8 @@ def _create_auth_server(config_key: str, rc_path: str) -> FastAPI:
|
|
603
605
|
|
604
606
|
return {"written": True}
|
605
607
|
except Exception as e:
|
608
|
+
import traceback
|
609
|
+
traceback.print_exc()
|
606
610
|
error(f"Failed to process key configuration: {e}")
|
607
611
|
return {"error": "Failed to process key configuration request"}
|
608
612
|
|
@@ -787,6 +791,8 @@ def start(
|
|
787
791
|
else:
|
788
792
|
console.print()
|
789
793
|
except Exception:
|
794
|
+
import traceback
|
795
|
+
traceback.print_exc()
|
790
796
|
# Do not block startup if we cannot load agents mapping
|
791
797
|
pass
|
792
798
|
|
@@ -270,7 +270,7 @@ def graceful_shutdown(_sig_num, _frame):
|
|
270
270
|
|
271
271
|
if cli_state.verbose:
|
272
272
|
console.print(f"signal received: {_sig_num}, frame: {_frame}")
|
273
|
-
|
273
|
+
|
274
274
|
# Show session summary and exit cleanly
|
275
275
|
console.print("\n[bold blue]🛑 Shutting down...[/bold blue]")
|
276
276
|
show_session_summary()
|
@@ -531,12 +531,14 @@ class TestCli(unittest.TestCase):
|
|
531
531
|
# Test Case 19: Valid agent with default template response
|
532
532
|
template_file = os.path.join(tmpdir, "template.py")
|
533
533
|
with open(template_file, "w") as f:
|
534
|
-
f.write(
|
534
|
+
f.write(
|
535
|
+
"""
|
535
536
|
from snowglobe.client import CompletionRequest, CompletionFunctionOutputs
|
536
537
|
|
537
538
|
def process_scenario(request):
|
538
539
|
return CompletionFunctionOutputs(response="Your response here")
|
539
|
-
"""
|
540
|
+
"""
|
541
|
+
)
|
540
542
|
|
541
543
|
with mock.patch("os.getcwd", return_value=tmpdir):
|
542
544
|
result, message = cli.test_agent_wrapper(
|
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
|