Add detailed logging for session runtime configuration and service resolution
This commit is contained in:
@@ -306,6 +306,29 @@ class Session:
|
|||||||
workflow_runtime = self._bootstrap_workflow(raw_metadata)
|
workflow_runtime = self._bootstrap_workflow(raw_metadata)
|
||||||
server_runtime = await self._load_server_runtime_metadata(raw_metadata, workflow_runtime)
|
server_runtime = await self._load_server_runtime_metadata(raw_metadata, workflow_runtime)
|
||||||
client_runtime = self._sanitize_client_metadata(raw_metadata)
|
client_runtime = self._sanitize_client_metadata(raw_metadata)
|
||||||
|
requested_assistant_id = (
|
||||||
|
workflow_runtime.get("assistantId")
|
||||||
|
or raw_metadata.get("assistantId")
|
||||||
|
or raw_metadata.get("appId")
|
||||||
|
or raw_metadata.get("app_id")
|
||||||
|
)
|
||||||
|
if server_runtime:
|
||||||
|
logger.info(
|
||||||
|
"Session {} loaded trusted runtime config from backend "
|
||||||
|
"(requested_assistant_id={}, resolved_assistant_id={}, configVersionId={}, has_services={})",
|
||||||
|
self.id,
|
||||||
|
requested_assistant_id,
|
||||||
|
server_runtime.get("assistantId"),
|
||||||
|
server_runtime.get("configVersionId") or server_runtime.get("config_version_id"),
|
||||||
|
isinstance(server_runtime.get("services"), dict),
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
logger.warning(
|
||||||
|
"Session {} missing trusted backend runtime config "
|
||||||
|
"(requested_assistant_id={}); falling back to engine defaults + safe client overrides",
|
||||||
|
self.id,
|
||||||
|
requested_assistant_id,
|
||||||
|
)
|
||||||
metadata = self._merge_runtime_metadata(server_runtime, self._sanitize_untrusted_runtime_metadata(workflow_runtime))
|
metadata = self._merge_runtime_metadata(server_runtime, self._sanitize_untrusted_runtime_metadata(workflow_runtime))
|
||||||
metadata = self._merge_runtime_metadata(metadata, client_runtime)
|
metadata = self._merge_runtime_metadata(metadata, client_runtime)
|
||||||
|
|
||||||
@@ -314,6 +337,27 @@ class Session:
|
|||||||
|
|
||||||
# Apply runtime service/prompt overrides from backend if provided
|
# Apply runtime service/prompt overrides from backend if provided
|
||||||
self.pipeline.apply_runtime_overrides(metadata)
|
self.pipeline.apply_runtime_overrides(metadata)
|
||||||
|
resolved_preview = self.pipeline.resolved_runtime_config()
|
||||||
|
resolved_services = resolved_preview.get("services", {}) if isinstance(resolved_preview, dict) else {}
|
||||||
|
llm_cfg = resolved_services.get("llm", {}) if isinstance(resolved_services, dict) else {}
|
||||||
|
asr_cfg = resolved_services.get("asr", {}) if isinstance(resolved_services, dict) else {}
|
||||||
|
tts_cfg = resolved_services.get("tts", {}) if isinstance(resolved_services, dict) else {}
|
||||||
|
logger.info(
|
||||||
|
"Session {} effective runtime services "
|
||||||
|
"(assistantId={}, configVersionId={}, output_mode={}, "
|
||||||
|
"llm={}/{}, asr={}/{}, tts={}/{}, tts_enabled={})",
|
||||||
|
self.id,
|
||||||
|
metadata.get("assistantId") or metadata.get("appId") or metadata.get("app_id"),
|
||||||
|
metadata.get("configVersionId") or metadata.get("config_version_id"),
|
||||||
|
(resolved_preview.get("output") or {}).get("mode") if isinstance(resolved_preview, dict) else None,
|
||||||
|
llm_cfg.get("provider"),
|
||||||
|
llm_cfg.get("model"),
|
||||||
|
asr_cfg.get("provider"),
|
||||||
|
asr_cfg.get("model"),
|
||||||
|
tts_cfg.get("provider"),
|
||||||
|
tts_cfg.get("model"),
|
||||||
|
tts_cfg.get("enabled"),
|
||||||
|
)
|
||||||
|
|
||||||
# Start duplex pipeline
|
# Start duplex pipeline
|
||||||
if not self._pipeline_started:
|
if not self._pipeline_started:
|
||||||
|
|||||||
Reference in New Issue
Block a user