{"version":3,"sources":["../../src/traces/types.ts"],"sourcesContent":["// @agentx/sdk — Traces Module\n// Structured trace events for agent observability\n\nexport interface TraceEvent {\n  tenantId: string\n  agentId: number\n  sessionId: string\n  type: 'tool_call' | 'tool_result' | 'text_delta' | 'session_complete'\n  timestamp: number\n  data: Record<string, unknown>\n}\n\nexport interface TraceEmitter {\n  emit(event: TraceEvent): void\n}\n\n/** No-op emitter — zero overhead when tracing is not configured */\nexport class NoopTraceEmitter implements TraceEmitter {\n  emit(_event: TraceEvent): void {}\n}\n\n/** Batched HTTP trace emitter — sends events to a remote collector */\nexport class HttpTraceEmitter implements TraceEmitter {\n  private buffer: TraceEvent[] = []\n  private timer: ReturnType<typeof setTimeout> | null = null\n\n  constructor(\n    private readonly endpoint: string,\n    private readonly authToken?: string,\n    private readonly flushIntervalMs = 5000,\n    private readonly maxBufferSize = 100,\n  ) {}\n\n  emit(event: TraceEvent): void {\n    this.buffer.push(event)\n    if (this.buffer.length >= this.maxBufferSize) {\n      this.flush()\n      return\n    }\n    if (!this.timer) {\n      this.timer = setTimeout(() => this.flush(), this.flushIntervalMs)\n    }\n  }\n\n  private flush(): void {\n    if (this.buffer.length === 0) return\n    const batch = this.buffer.splice(0)\n    if (this.timer) { clearTimeout(this.timer); this.timer = null }\n\n    // Fire-and-forget — don't block AgentLoop\n    fetch(this.endpoint, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        ...(this.authToken ? { 'Authorization': `Bearer ${this.authToken}` } : {}),\n      },\n      body: JSON.stringify({ events: batch }),\n    }).catch(() => {})\n  }\n}\n\nexport interface TraceConfig {\n  emitter: TraceEmitter\n  enabled: boolean\n}\n"],"mappings":";AAiBO,IAAM,mBAAN,MAA+C;AAAA,EACpD,KAAK,QAA0B;AAAA,EAAC;AAClC;AAGO,IAAM,mBAAN,MAA+C;AAAA,EAIpD,YACmB,UACA,WACA,kBAAkB,KAClB,gBAAgB,KACjC;AAJiB;AACA;AACA;AACA;AAAA,EAChB;AAAA,EAJgB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAPX,SAAuB,CAAC;AAAA,EACxB,QAA8C;AAAA,EAStD,KAAK,OAAyB;AAC5B,SAAK,OAAO,KAAK,KAAK;AACtB,QAAI,KAAK,OAAO,UAAU,KAAK,eAAe;AAC5C,WAAK,MAAM;AACX;AAAA,IACF;AACA,QAAI,CAAC,KAAK,OAAO;AACf,WAAK,QAAQ,WAAW,MAAM,KAAK,MAAM,GAAG,KAAK,eAAe;AAAA,IAClE;AAAA,EACF;AAAA,EAEQ,QAAc;AACpB,QAAI,KAAK,OAAO,WAAW,EAAG;AAC9B,UAAM,QAAQ,KAAK,OAAO,OAAO,CAAC;AAClC,QAAI,KAAK,OAAO;AAAE,mBAAa,KAAK,KAAK;AAAG,WAAK,QAAQ;AAAA,IAAK;AAG9D,UAAM,KAAK,UAAU;AAAA,MACnB,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,GAAI,KAAK,YAAY,EAAE,iBAAiB,UAAU,KAAK,SAAS,GAAG,IAAI,CAAC;AAAA,MAC1E;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,QAAQ,MAAM,CAAC;AAAA,IACxC,CAAC,EAAE,MAAM,MAAM;AAAA,IAAC,CAAC;AAAA,EACnB;AACF;","names":[]}