LogSpanToolContent
Content type for tool and API invocation spans.
Overview
LogSpanToolContent captures external tool calls and API invocations. It is wrapped in a LogSpanContent union via the actual_instance pattern.
from adaline_api.models.log_span_tool_content import LogSpanToolContent
Fields
The input payload as a JSON string. Must be valid, parseable JSON (the result of json.dumps()).
The output payload as a JSON string. Must be valid, parseable JSON (the result of json.dumps()).
Construction Pattern
All span content is wrapped in LogSpanContent using the actual_instance parameter:
from adaline_api.models.log_span_content import LogSpanContent
from adaline_api.models.log_span_tool_content import LogSpanToolContent
content = LogSpanContent(
actual_instance=LogSpanToolContent(
type="Tool",
input=json.dumps({"function": "search", "args": {"query": "weather"}}),
output=json.dumps({"results": ["sunny", "72F"]}),
)
)
Example
import json
from adaline_api.models.log_span_content import LogSpanContent
from adaline_api.models.log_span_tool_content import LogSpanToolContent
tool_input = {"function": "get_weather", "args": {"city": "San Francisco"}}
tool_output = {"temperature": 68, "condition": "foggy", "unit": "fahrenheit"}
span.update({
"status": "success",
"content": LogSpanContent(
actual_instance=LogSpanToolContent(
type="Tool",
input=json.dumps(tool_input),
output=json.dumps(tool_output),
)
),
})