MCPcopy Create free account
hub / github.com/BUPT-GAMMA/MASFactory / _default_render_value

Function _default_render_value

masfactory/core/message/base.py:41–69  ·  view source on GitHub ↗

Render a value as stable text for prompts.

(value: Any)

Source from the content-addressed store, hash-verified

39 return f"<unserializable {type(value).__name__}>"
40
41def _default_render_value(value: Any) -> str:
42 """Render a value as stable text for prompts."""
43 if isinstance(value, MediaAsset):
44 return value.prompt_summary()
45 if isinstance(value, MediaMessageBlock):
46 return value.tag
47 if isinstance(value, TextMessageBlock):
48 return value.text
49 try:
50 return media_value_to_prompt_text(value)
51 except Exception:
52 pass
53 value = _coerce_to_basic_types(value)
54 if isinstance(value, str):
55 return value
56 if isinstance(value, bytes):
57 return value.decode("utf-8", errors="replace")
58 if isinstance(value, set):
59 value = sorted(value, key=str)
60 try:
61 return json.dumps(
62 value,
63 ensure_ascii=False,
64 sort_keys=True,
65 indent=2,
66 default=_json_default,
67 ).rstrip()
68 except Exception:
69 return str(value)
70
71class MessageFormatter(ABC):
72 """Base interface for message parsing and rendering."""

Callers 1

render_valueMethod · 0.85

Calls 3

_coerce_to_basic_typesFunction · 0.85
prompt_summaryMethod · 0.80

Tested by

no test coverage detected