Renders the user/ namespace section (LLM-defined functions and values).
Summary
Functions
Render user/ namespace section for USER message.
Functions
Render user/ namespace section for USER message.
Returns nil for empty memory maps, otherwise a formatted string with header
and entries showing functions (with params and optional return type) and values
(with type and optional sample).
Functions are listed first, then values, both sorted alphabetically (DEF-009).
Samples are only shown when has_println is false (SAM-001, SAM-002).
Options
:has_println- Boolean, controls whether samples are shown (default: false):sample_limit- Max items to show in collections (default: 3):sample_printable_limit- Max chars for strings (default: 80)
Examples
iex> PtcRunner.SubAgent.Namespace.User.render(%{}, [])
nil
iex> closure = {:closure, [{:var, :x}], nil, %{}, [], %{}}
iex> PtcRunner.SubAgent.Namespace.User.render(%{double: closure}, [])
";; === user/ (your prelude) ===\n(double [x])"
iex> closure = {:closure, [{:var, :x}], nil, %{}, [], %{return_type: "integer"}}
iex> PtcRunner.SubAgent.Namespace.User.render(%{double: closure}, [])
";; === user/ (your prelude) ===\n(double [x]) -> integer"
iex> closure = {:closure, [{:var, :x}], nil, %{}, [], %{docstring: "Doubles x"}}
iex> PtcRunner.SubAgent.Namespace.User.render(%{double: closure}, [])
";; === user/ (your prelude) ===\n(double [x]) ; \"Doubles x\""
iex> closure = {:closure, [{:var, :x}], nil, %{}, [], %{docstring: "Doubles x", return_type: "integer"}}
iex> PtcRunner.SubAgent.Namespace.User.render(%{double: closure}, [])
";; === user/ (your prelude) ===\n(double [x]) ; \"Doubles x\" -> integer"
iex> PtcRunner.SubAgent.Namespace.User.render(%{total: 42}, [])
";; === user/ (your prelude) ===\ntotal ; = integer, sample: 42"
iex> PtcRunner.SubAgent.Namespace.User.render(%{total: 42}, has_println: true)
";; === user/ (your prelude) ===\ntotal ; = integer"
iex> PtcRunner.SubAgent.Namespace.User.render(%{_secret: "token123"}, [])
";; === user/ (your prelude) ===\n_secret ; = string, [Hidden]"