<vs-context> wire format produced by str(kb), str(pipeline), str(agent), str(chatbot), plus their granular variants like kb.item(...) and kb.folder(...).
You’ll end up with. Printed wire-format blocks for each object type, the unchanged developer-facing repr(), and an inline-composition example showing they drop straight into f-strings and session.send.
Agents receive structured object context by interpolating SDK objects
directly into session text. The SDK’s __str__ emits \<vs-context>
blocks that the Rust engine parser recognizes and resolves to the real
object — no new wire field, no new JSON key.
What this demonstrates:
- str(kb), str(pipeline), str(agent), str(chatbot) ->
\<vs-context> - kb.item(item_id) / kb.folder(folder_id) for granular references
- Inline use in session.send() and in f-strings
- repr() stays developer-facing (never the wire format)
and a conversational agent that can consume <vs-context> input
Expected output
<vs-context> tag may vary with SDK version, but the principle is fixed: str(obj) is what goes on the wire, repr(obj) is what your debugger sees. This means dropping an SDK object into an f-string or session.send(...) is the supported way to attach context — no new keyword argument required.
See also
Template placeholders
The functional-agent equivalent for inputs, outputs, and tools.
Chatbot session
Drive a Chatbot through a Session for multi-turn replies.
Agent reference
Full method surface.
