6ede33ccdb
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Has been cancelled
Build and Push Docker Images / finalize_release (push) Has been cancelled
Obsidian Plugin Lint / lint (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / compute_version (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / verify_digests (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Has been cancelled
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
"""Normalize filesystem tool payloads for SSE cards and messages."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import json
|
|
from typing import Any
|
|
|
|
|
|
def tool_output_to_text(tool_output: Any) -> str:
|
|
if isinstance(tool_output, dict):
|
|
if isinstance(tool_output.get("result"), str):
|
|
return tool_output["result"]
|
|
if isinstance(tool_output.get("error"), str):
|
|
return tool_output["error"]
|
|
return json.dumps(tool_output, ensure_ascii=False)
|
|
return str(tool_output)
|
|
|
|
|
|
def tool_output_has_error(tool_output: Any) -> bool:
|
|
if isinstance(tool_output, dict):
|
|
if tool_output.get("error"):
|
|
return True
|
|
result = tool_output.get("result")
|
|
return bool(
|
|
isinstance(result, str) and result.strip().lower().startswith("error:")
|
|
)
|
|
if isinstance(tool_output, str):
|
|
return tool_output.strip().lower().startswith("error:")
|
|
return False
|
|
|
|
|
|
def extract_resolved_file_path(
|
|
*, tool_name: str, tool_output: Any, tool_input: Any | None = None
|
|
) -> str | None:
|
|
if isinstance(tool_output, dict):
|
|
path_value = tool_output.get("path")
|
|
if isinstance(path_value, str) and path_value.strip():
|
|
return path_value.strip()
|
|
if tool_name in ("write_file", "edit_file") and isinstance(tool_input, dict):
|
|
file_path = tool_input.get("file_path")
|
|
if isinstance(file_path, str) and file_path.strip():
|
|
return file_path.strip()
|
|
return None
|