{"version":3,"sources":["../../src/voice/utils.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2025 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport { AudioFrame, type Participant, type ParticipantKind } from '@livekit/rtc-node';\nimport type { Span } from '@opentelemetry/api';\nimport { traceTypes } from '../telemetry/index.js';\n\nexport function createSilenceFrame(\n  duration: number,\n  sampleRate: number,\n  numChannels = 1,\n): AudioFrame {\n  const samples = Math.floor((duration * sampleRate) / 1000);\n  return new AudioFrame(new Int16Array(samples * numChannels), sampleRate, numChannels, samples);\n}\n\nexport function createSilenceFrameLike(frame: AudioFrame): AudioFrame {\n  return new AudioFrame(\n    new Int16Array(frame.samplesPerChannel * frame.channels),\n    frame.sampleRate,\n    frame.channels,\n    frame.samplesPerChannel,\n  );\n}\n\nexport function setParticipantSpanAttributes(\n  span: Span,\n  participant: Pick<Participant, 'sid' | 'identity' | 'kind'>,\n): void {\n  if (participant.sid) {\n    span.setAttribute(traceTypes.ATTR_PARTICIPANT_ID, participant.sid);\n  }\n  span.setAttribute(traceTypes.ATTR_PARTICIPANT_IDENTITY, participant.identity);\n  span.setAttribute(traceTypes.ATTR_PARTICIPANT_KIND, participantKindName(participant.kind));\n}\n\nfunction participantKindName(kind: ParticipantKind): string {\n  const names: Record<number, string> = {\n    0: 'STANDARD',\n    1: 'INGRESS',\n    2: 'EGRESS',\n    3: 'SIP',\n    4: 'AGENT',\n    5: 'CONNECTOR',\n  };\n  return names[kind as number] ?? String(kind);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAmE;AAEnE,uBAA2B;AAEpB,SAAS,mBACd,UACA,YACA,cAAc,GACF;AACZ,QAAM,UAAU,KAAK,MAAO,WAAW,aAAc,GAAI;AACzD,SAAO,IAAI,2BAAW,IAAI,WAAW,UAAU,WAAW,GAAG,YAAY,aAAa,OAAO;AAC/F;AAEO,SAAS,uBAAuB,OAA+B;AACpE,SAAO,IAAI;AAAA,IACT,IAAI,WAAW,MAAM,oBAAoB,MAAM,QAAQ;AAAA,IACvD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,SAAS,6BACd,MACA,aACM;AACN,MAAI,YAAY,KAAK;AACnB,SAAK,aAAa,4BAAW,qBAAqB,YAAY,GAAG;AAAA,EACnE;AACA,OAAK,aAAa,4BAAW,2BAA2B,YAAY,QAAQ;AAC5E,OAAK,aAAa,4BAAW,uBAAuB,oBAAoB,YAAY,IAAI,CAAC;AAC3F;AAEA,SAAS,oBAAoB,MAA+B;AAC1D,QAAM,QAAgC;AAAA,IACpC,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACA,SAAO,MAAM,IAAc,KAAK,OAAO,IAAI;AAC7C;","names":[]}