Studio
Studio Traces
Trace types, trace store contracts, and StudioTraceObserver.
Import from @anvia/studio.
Trace Types
type StudioTraceStatus = "running" | "success" | "error";
type StudioTraceObservationKind = "generation" | "tool";
type StudioTraceObservation = {
id: string;
kind: StudioTraceObservationKind;
name: string;
status: StudioTraceStatus;
turn: number;
startedAt: string;
endedAt?: string;
durationMs?: number;
input?: JsonValue;
output?: JsonValue;
error?: JsonValue;
metadata?: JsonObject;
};
type StudioTraceSummary = {
id: string;
sessionId: string;
name?: string;
status: StudioTraceStatus;
startedAt: string;
endedAt?: string;
durationMs?: number;
output?: string;
error?: JsonValue;
usage?: Usage;
metadata?: JsonObject;
observationCount: number;
};
type StudioTrace = StudioTraceSummary & {
trace?: AgentTraceInfo;
input?: JsonValue;
observations: StudioTraceObservation[];
};Purpose: Studio-native trace persistence and UI contracts.
Return behavior: trace stores return summaries for lists and full traces for detail.
Notable errors: none directly.
Trace Store Types
type StudioTraceListOptions = {
limit: number;
agentId?: string;
sessionId?: string;
status?: StudioTraceStatus;
};
type StudioSessionTraceListOptions = {
sessionId: string;
limit: number;
};
type StudioTraceStore = {
readonly kind?: string;
listTraces?(options: StudioTraceListOptions): StudioTraceSummary[] | Promise<StudioTraceSummary[]>;
listSessionTraces(options: StudioSessionTraceListOptions): StudioTraceSummary[] | Promise<StudioTraceSummary[]>;
getTrace(id: string): StudioTrace | undefined | Promise<StudioTrace | undefined>;
saveTrace(trace: StudioTrace): StudioTrace | Promise<StudioTrace>;
};Purpose: persistence adapter for Studio traces.
Return behavior: methods may be sync or async.
Notable errors: persistence failures should throw or reject.
StudioTraceObserver
type StudioTraceObserverOptions = {
store: StudioTraceStore | (() => StudioTraceStore | undefined) | undefined;
};
class StudioTraceObserver implements AgentObserver {
constructor(options: StudioTraceObserverOptions);
startRun(args: AgentRunStartArgs): AgentRunObserver;
}Purpose: converts agent observer events into StudioTrace records.
Return behavior: startRun(...) returns an AgentRunObserver; traces are saved when the run ends or errors.
Notable errors: save failures reject observer lifecycle methods and can fail the run when observer errors are configured to fail.
