@absolutejs/voice 0.0.22-beta.539 → 0.0.22-beta.540

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.
@@ -737,6 +737,7 @@ export type VoiceSurfaceConfig<O> = false | O | (Record<string, never> extends O
737
737
  export type VoicePluginConfig<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
738
738
  costTelemetry?: VoiceCostTelemetryConfig<TContext, TSession, TResult>;
739
739
  path: string;
740
+ greeting?: string;
740
741
  languageStrategy?: VoiceLanguageStrategy;
741
742
  lexicon?: VoiceLexiconEntry[] | VoiceLexiconResolver<TContext>;
742
743
  phraseHints?: VoicePhraseHint[] | VoicePhraseHintResolver<TContext>;
@@ -850,6 +851,7 @@ export type CreateVoiceSessionOptions<TContext = unknown, TSession extends Voice
850
851
  id: string;
851
852
  context: TContext;
852
853
  socket: VoiceSocket;
854
+ greeting?: string;
853
855
  stt?: STTAdapter;
854
856
  realtime?: RealtimeAdapter;
855
857
  realtimeInputFormat?: AudioFormat;
package/dist/index.js CHANGED
@@ -5576,6 +5576,26 @@ var createVoiceSession = (options) => {
5576
5576
  warmTTSSession();
5577
5577
  kickCallSilenceWatchdog();
5578
5578
  startAmdEvaluationTimer();
5579
+ if (shouldFireOnSession && options.greeting && session.turns.length === 0) {
5580
+ const greetingText = options.greeting;
5581
+ const greetingTurnId = createId();
5582
+ await send({
5583
+ text: greetingText,
5584
+ turnId: greetingTurnId,
5585
+ type: "assistant"
5586
+ });
5587
+ try {
5588
+ const greetingTTSSession = await ensureTTSSession();
5589
+ if (greetingTTSSession) {
5590
+ activeTTSTurnId = greetingTurnId;
5591
+ await greetingTTSSession.send(greetingText);
5592
+ } else if (options.realtime) {
5593
+ const greetingRealtimeSession = await ensureAdapter();
5594
+ activeTTSTurnId = greetingTurnId;
5595
+ await greetingRealtimeSession.send(greetingText);
5596
+ }
5597
+ } catch {}
5598
+ }
5579
5599
  };
5580
5600
  const disconnectInternal = async (event) => {
5581
5601
  clearSilenceTimer();
@@ -38545,6 +38565,7 @@ var voice = (config) => {
38545
38565
  noiseSuppressorFormat: sessionOptions.noiseSuppressorFormat,
38546
38566
  context,
38547
38567
  id: sessionId,
38568
+ greeting: config.greeting,
38548
38569
  handoff: config.handoff,
38549
38570
  languageStrategy: config.languageStrategy,
38550
38571
  lexicon,
@@ -7438,6 +7438,26 @@ var createVoiceSession = (options) => {
7438
7438
  warmTTSSession();
7439
7439
  kickCallSilenceWatchdog();
7440
7440
  startAmdEvaluationTimer();
7441
+ if (shouldFireOnSession && options.greeting && session.turns.length === 0) {
7442
+ const greetingText = options.greeting;
7443
+ const greetingTurnId = createId();
7444
+ await send({
7445
+ text: greetingText,
7446
+ turnId: greetingTurnId,
7447
+ type: "assistant"
7448
+ });
7449
+ try {
7450
+ const greetingTTSSession = await ensureTTSSession();
7451
+ if (greetingTTSSession) {
7452
+ activeTTSTurnId = greetingTurnId;
7453
+ await greetingTTSSession.send(greetingText);
7454
+ } else if (options.realtime) {
7455
+ const greetingRealtimeSession = await ensureAdapter();
7456
+ activeTTSTurnId = greetingTurnId;
7457
+ await greetingRealtimeSession.send(greetingText);
7458
+ }
7459
+ } catch {}
7460
+ }
7441
7461
  };
7442
7462
  const disconnectInternal = async (event) => {
7443
7463
  clearSilenceTimer();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/voice",
3
- "version": "0.0.22-beta.539",
3
+ "version": "0.0.22-beta.540",
4
4
  "description": "Voice primitives and Elysia plugin for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",