{"version":3,"sources":["../../../tools/traces/index.ts","../../../core/resource.ts","../../../tools/traces/core.ts"],"sourcesContent":["/**\n * Traces: read back agent turns shipped with `morphTracing()`, with their Reflex labels.\n */\nexport { TracesClient } from './core.js';\nexport type {\n  ListTracesInput,\n  Trace,\n  TraceList,\n  TraceReflexResult,\n} from './types.js';\n","/**\n * Base class for every API resource (FastApply, Compact, Reflex, …).\n *\n * Mirrors the OpenAI SDK's `APIResource`: a resource holds nothing but a\n * reference to the transport (`MorphAPIClient`) and delegates all HTTP to it.\n * Sub-resources receive the same client by reference, so configuration and the\n * fetch/retry/auth machinery live in exactly one place.\n */\nimport type { MorphAPIClient } from './client.js';\n\nexport abstract class APIResource {\n  protected _client: MorphAPIClient;\n\n  constructor(client: MorphAPIClient) {\n    this._client = client;\n  }\n}\n","/**\n * Traces: read back the agent turns you shipped with `morphTracing()`, each\n * carrying the Reflex labels that ran on it.\n *\n *   const morph = new MorphClient({ apiKey });\n *   const page  = await morph.traces.list({ convoId: 'c1' });\n *   for (const turn of page.data) {\n *     console.log(turn.inputText, turn.reflexResults);\n *   }\n *\n * Reads `GET /v1/reflex/traces`. All HTTP goes through the shared `MorphAPIClient`.\n */\nimport { APIResource } from '../../core/resource.js';\nimport type { ListTracesInput, Trace, TraceList, TraceReflexResult } from './types.js';\n\nexport class TracesClient extends APIResource {\n  /** List traced turns, newest first. Filter by `convoId`; page with `limit`/`offset`. */\n  async list(input: ListTracesInput = {}): Promise<TraceList> {\n    const raw = await this._client.get<RawTraceList>('/v1/reflex/traces', {\n      query: { convo_id: input.convoId, limit: input.limit, offset: input.offset },\n    });\n    return {\n      data: (raw.data ?? []).map(toTrace),\n      hasMore: Boolean(raw.has_more),\n      offset: raw.offset ?? 0,\n    };\n  }\n}\n\n// ---------------------------------------------------------------------------\n// Mapping (snake_case -> camelCase)\n// ---------------------------------------------------------------------------\n\ninterface RawReflexResult {\n  model: string;\n  transform: string;\n  label: string | null;\n  score: number;\n  selected?: string[];\n  status: string;\n  transform_version: number;\n}\ninterface RawTrace {\n  convo_id: string;\n  event_id: string;\n  span_kind: string;\n  model: string;\n  input_text: string;\n  output_text: string;\n  start_time: string;\n  reflex_results?: RawReflexResult[];\n}\ninterface RawTraceList {\n  data?: RawTrace[];\n  has_more?: boolean;\n  offset?: number;\n}\n\nfunction toReflexResult(raw: RawReflexResult): TraceReflexResult {\n  return {\n    model: raw.model,\n    transform: raw.transform,\n    label: raw.label ?? null,\n    score: raw.score,\n    selected: raw.selected ?? [],\n    status: raw.status,\n    transformVersion: raw.transform_version,\n  };\n}\n\nfunction toTrace(raw: RawTrace): Trace {\n  return {\n    convoId: raw.convo_id,\n    eventId: raw.event_id,\n    spanKind: raw.span_kind,\n    model: raw.model,\n    inputText: raw.input_text,\n    outputText: raw.output_text,\n    startTime: raw.start_time,\n    reflexResults: (raw.reflex_results ?? []).map(toReflexResult),\n  };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACUO,IAAe,cAAf,MAA2B;AAAA,EACtB;AAAA,EAEV,YAAY,QAAwB;AAClC,SAAK,UAAU;AAAA,EACjB;AACF;;;ACDO,IAAM,eAAN,cAA2B,YAAY;AAAA;AAAA,EAE5C,MAAM,KAAK,QAAyB,CAAC,GAAuB;AAC1D,UAAM,MAAM,MAAM,KAAK,QAAQ,IAAkB,qBAAqB;AAAA,MACpE,OAAO,EAAE,UAAU,MAAM,SAAS,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO;AAAA,IAC7E,CAAC;AACD,WAAO;AAAA,MACL,OAAO,IAAI,QAAQ,CAAC,GAAG,IAAI,OAAO;AAAA,MAClC,SAAS,QAAQ,IAAI,QAAQ;AAAA,MAC7B,QAAQ,IAAI,UAAU;AAAA,IACxB;AAAA,EACF;AACF;AA+BA,SAAS,eAAe,KAAyC;AAC/D,SAAO;AAAA,IACL,OAAO,IAAI;AAAA,IACX,WAAW,IAAI;AAAA,IACf,OAAO,IAAI,SAAS;AAAA,IACpB,OAAO,IAAI;AAAA,IACX,UAAU,IAAI,YAAY,CAAC;AAAA,IAC3B,QAAQ,IAAI;AAAA,IACZ,kBAAkB,IAAI;AAAA,EACxB;AACF;AAEA,SAAS,QAAQ,KAAsB;AACrC,SAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,SAAS,IAAI;AAAA,IACb,UAAU,IAAI;AAAA,IACd,OAAO,IAAI;AAAA,IACX,WAAW,IAAI;AAAA,IACf,YAAY,IAAI;AAAA,IAChB,WAAW,IAAI;AAAA,IACf,gBAAgB,IAAI,kBAAkB,CAAC,GAAG,IAAI,cAAc;AAAA,EAC9D;AACF;","names":[]}