/** * Tracing System - Observability and distributed tracing for agents * * @example * ```typescript * import { * TracingManager, * createTracingHooks, * createStructuredLogger, * SemanticAttributes, * } from '@compilr-dev/agents'; * * // Create tracing manager * const tracingManager = new TracingManager({ * serviceName: 'my-agent', * defaultAttributes: { environment: 'production' }, * }); * * // Create tracing hooks for automatic instrumentation * const tracingHooks = createTracingHooks(tracingManager, { * traceLLM: true, * traceTools: true, * traceIterations: true, * }); * * // Create structured logger * const logger = createStructuredLogger({ * level: 'info', * serviceName: 'my-agent', * }); * * // Use with Agent * const agent = new Agent({ * provider, * hooks: tracingHooks, * }); * * // Manual tracing * const traceId = tracingManager.startTrace(); * const span = tracingManager.startSpan({ name: 'process-request' }); * // ... do work ... * tracingManager.endSpan(span.spanId, { status: 'ok' }); * tracingManager.endTrace(traceId); * ``` */ export { TracingManager } from './manager.js'; export { createTracingHooks, createLoggingHooks, mergeHooks } from './hooks.js'; export { createStructuredLogger, createNoopLogger, createBufferedLogger, createTracingLogger, formatDuration, formatBytes, redactSensitive, } from './logging.js'; export { createOTelExporter, createConsoleExporter, createBatchExporter, createMultiExporter, OTelNotInstalledError, isOTelNotInstalledError, } from './otel.js'; export { createOTelHooks } from './otel-hooks.js'; export type { OTelHooksConfig } from './otel-hooks.js'; export { GenAIAttributes, AgentAttributes, PROVIDER_TO_SYSTEM } from './otel-attributes.js'; export type { Span, SpanStatus, SpanKind, SpanAttributes, SpanContext, SpanEvent, AttributeValue, Trace, TracingManagerOptions, StartSpanOptions, EndSpanOptions, TracingHooksConfig, TracingEvent, TracingEventHandler, OTelExporter, OTelSDK, OTelTracer, OTelSpan, LogLevel, LogEntry, StructuredLogger, StructuredLoggerOptions, TracingHookContext, TracingManagerInterface, } from './types.js'; export { SemanticAttributes } from './types.js';