From dd9cc0942b0cb480c8f23a52fe9fbd7b3e687470 Mon Sep 17 00:00:00 2001 From: Makito Date: Sat, 11 Apr 2026 18:25:19 +0900 Subject: [PATCH] feat(stage-shared): add types for IO tracing --- packages/stage-shared/src/index.ts | 1 + packages/stage-shared/src/perf/io-trace.ts | 31 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 packages/stage-shared/src/perf/io-trace.ts diff --git a/packages/stage-shared/src/index.ts b/packages/stage-shared/src/index.ts index 703d521fb..638c77377 100644 --- a/packages/stage-shared/src/index.ts +++ b/packages/stage-shared/src/index.ts @@ -1,6 +1,7 @@ export * from './env-vars' export * from './environment' export * from './export-csv' +export * from './perf/io-trace' export * from './perf/tracer' export * from './url' export * from './window' diff --git a/packages/stage-shared/src/perf/io-trace.ts b/packages/stage-shared/src/perf/io-trace.ts new file mode 100644 index 000000000..6b65beca7 --- /dev/null +++ b/packages/stage-shared/src/perf/io-trace.ts @@ -0,0 +1,31 @@ +export const IOSubsystems = { + ASR: 'asr', + LLM: 'llm', + TTSChunking: 'tts-chunking', + TTSSynthesis: 'tts-synthesis', + Playback: 'playback', +} as const + +export type IOSubsystem = (typeof IOSubsystems)[keyof typeof IOSubsystems] + +export interface IOSpan { + id: string + traceId: string + parentSpanId?: string + startTs: number + endTs?: number + + ttsCorrelationId?: string + subsystem: IOSubsystem + name: string + meta: Record +} + +export interface IOTurn { + id: string + startTs: number + endTs?: number + inputText?: string + outputText?: string + spans: IOSpan[] +}