import type { DecisionAnswer, DecisionQuestion, DecisionState } from "smoltalk"; export type EventEnvelope = { format_version: number; trace_id: string; project_id: string; span_id: string | null; parent_span_id: string | null; data: EventData; }; /** On a `promptCompletion` from a decision model: what the model was sent * and what it answered. The state is the thread as the model read it * (role and text only), the questions are what the response type became, * and the answers are the model's reply before it was turned back into a * value. Absent on a text call. The three parts reuse smoltalk's decision * types so the log and the wire protocol cannot drift apart. */ export type DecisionLog = { state: DecisionState; questions: Record; answers: Record; }; export type EventData = { type: string; timestamp: string; [key: string]: any; };