@absolutejs/voice 0.0.22-beta.562 → 0.0.22-beta.563

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3852,7 +3852,7 @@ var createVoiceSession = (options) => {
3852
3852
  };
3853
3853
  const appendTurnLatencyStage = async (input) => appendTrace({
3854
3854
  at: input.at,
3855
- payload: { stage: input.stage },
3855
+ payload: { stage: input.stage, ...input.metadata ?? {} },
3856
3856
  session: input.session,
3857
3857
  turnId: input.turnId,
3858
3858
  type: "turn_latency.stage"
@@ -4261,6 +4261,11 @@ var createVoiceSession = (options) => {
4261
4261
  return;
4262
4262
  }
4263
4263
  activeTTSTurnId = undefined;
4264
+ appendTurnLatencyStage({
4265
+ metadata: { reason },
4266
+ stage: "tts_canceled",
4267
+ turnId: cancelledTurnId
4268
+ }).catch(() => {});
4264
4269
  Promise.resolve(socket.clear?.()).catch(() => {});
4265
4270
  if (!ttsAdapterSessionCanCancel(activeSession)) {
4266
4271
  return;
@@ -4920,6 +4925,15 @@ var createVoiceSession = (options) => {
4920
4925
  };
4921
4926
  const handlePartial = async (transcript) => {
4922
4927
  if (activeTTSTurnId !== undefined && transcript.text.trim()) {
4928
+ const triggeringText = transcript.text.trim();
4929
+ appendTurnLatencyStage({
4930
+ metadata: {
4931
+ partial: triggeringText.slice(0, 200),
4932
+ source: "stt_partial"
4933
+ },
4934
+ stage: "barge_in",
4935
+ turnId: activeTTSTurnId
4936
+ }).catch(() => {});
4923
4937
  cancelActiveTTS("barge-in");
4924
4938
  }
4925
4939
  const session = await writeSession((session2) => {
@@ -5327,13 +5341,17 @@ var createVoiceSession = (options) => {
5327
5341
  if (myToken !== fillerToken || activeTTSTurnId === turn.id)
5328
5342
  return;
5329
5343
  let phrase = null;
5344
+ let source = "static";
5330
5345
  if (fillerForPromise) {
5331
5346
  phrase = await fillerForPromise;
5347
+ if (phrase)
5348
+ source = "fillerFor";
5332
5349
  if (myToken !== fillerToken || activeTTSTurnId === turn.id)
5333
5350
  return;
5334
5351
  }
5335
5352
  if (!phrase && fillerPhrases.length > 0) {
5336
5353
  phrase = fillerPhrases[Math.floor(Math.random() * fillerPhrases.length)] ?? null;
5354
+ source = "static";
5337
5355
  }
5338
5356
  if (!phrase)
5339
5357
  return;
@@ -5341,6 +5359,11 @@ var createVoiceSession = (options) => {
5341
5359
  if (!adapterSession)
5342
5360
  return;
5343
5361
  fillerActive = true;
5362
+ appendTurnLatencyStage({
5363
+ metadata: { phrase, source },
5364
+ stage: "filler_sent",
5365
+ turnId: turn.id
5366
+ }).catch(() => {});
5344
5367
  try {
5345
5368
  await adapterSession.send(phrase);
5346
5369
  } catch {
@@ -5723,7 +5723,7 @@ var createVoiceSession = (options) => {
5723
5723
  };
5724
5724
  const appendTurnLatencyStage = async (input) => appendTrace({
5725
5725
  at: input.at,
5726
- payload: { stage: input.stage },
5726
+ payload: { stage: input.stage, ...input.metadata ?? {} },
5727
5727
  session: input.session,
5728
5728
  turnId: input.turnId,
5729
5729
  type: "turn_latency.stage"
@@ -6132,6 +6132,11 @@ var createVoiceSession = (options) => {
6132
6132
  return;
6133
6133
  }
6134
6134
  activeTTSTurnId = undefined;
6135
+ appendTurnLatencyStage({
6136
+ metadata: { reason },
6137
+ stage: "tts_canceled",
6138
+ turnId: cancelledTurnId
6139
+ }).catch(() => {});
6135
6140
  Promise.resolve(socket.clear?.()).catch(() => {});
6136
6141
  if (!ttsAdapterSessionCanCancel(activeSession)) {
6137
6142
  return;
@@ -6791,6 +6796,15 @@ var createVoiceSession = (options) => {
6791
6796
  };
6792
6797
  const handlePartial = async (transcript) => {
6793
6798
  if (activeTTSTurnId !== undefined && transcript.text.trim()) {
6799
+ const triggeringText = transcript.text.trim();
6800
+ appendTurnLatencyStage({
6801
+ metadata: {
6802
+ partial: triggeringText.slice(0, 200),
6803
+ source: "stt_partial"
6804
+ },
6805
+ stage: "barge_in",
6806
+ turnId: activeTTSTurnId
6807
+ }).catch(() => {});
6794
6808
  cancelActiveTTS("barge-in");
6795
6809
  }
6796
6810
  const session = await writeSession((session2) => {
@@ -7198,13 +7212,17 @@ var createVoiceSession = (options) => {
7198
7212
  if (myToken !== fillerToken || activeTTSTurnId === turn.id)
7199
7213
  return;
7200
7214
  let phrase = null;
7215
+ let source = "static";
7201
7216
  if (fillerForPromise) {
7202
7217
  phrase = await fillerForPromise;
7218
+ if (phrase)
7219
+ source = "fillerFor";
7203
7220
  if (myToken !== fillerToken || activeTTSTurnId === turn.id)
7204
7221
  return;
7205
7222
  }
7206
7223
  if (!phrase && fillerPhrases.length > 0) {
7207
7224
  phrase = fillerPhrases[Math.floor(Math.random() * fillerPhrases.length)] ?? null;
7225
+ source = "static";
7208
7226
  }
7209
7227
  if (!phrase)
7210
7228
  return;
@@ -7212,6 +7230,11 @@ var createVoiceSession = (options) => {
7212
7230
  if (!adapterSession)
7213
7231
  return;
7214
7232
  fillerActive = true;
7233
+ appendTurnLatencyStage({
7234
+ metadata: { phrase, source },
7235
+ stage: "filler_sent",
7236
+ turnId: turn.id
7237
+ }).catch(() => {});
7215
7238
  try {
7216
7239
  await adapterSession.send(phrase);
7217
7240
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/voice",
3
- "version": "0.0.22-beta.562",
3
+ "version": "0.0.22-beta.563",
4
4
  "description": "Voice primitives and Elysia plugin for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",