voice-router-dev 0.8.8 → 0.9.0

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.
@@ -1,4 +1,4 @@
1
- import { gS as TranscriptionStatus, gP as Speaker, gQ as Word, gR as Utterance, V as CallbackTranscriptionSuccessPayload, K as CallbackTranscriptionErrorPayload, bv as Transcript, dx as ListenV1Response, eZ as RetrieveTranscriptResponse, fz as SpeechToTextChunkResponseModel } from './speechToTextChunkResponseModel-DmajV4F-.mjs';
1
+ import { h2 as TranscriptionStatus, g$ as Speaker, h0 as Word, h1 as Utterance, V as CallbackTranscriptionSuccessPayload, K as CallbackTranscriptionErrorPayload, bt as Transcript, dw as ListenV1Response, eY as RetrieveTranscriptResponse, fL as SpeechToTextChunkResponseModel, fy as Transcription } from './speechToTextChunkResponseModel-D8VJ-wz6.mjs';
2
2
  import { T as TranscriptionProvider } from './provider-metadata-BJ29OPW1.mjs';
3
3
  import './constants.mjs';
4
4
 
@@ -258,6 +258,7 @@ type ProviderWebhookPayloadMap = {
258
258
  "openai-whisper": never;
259
259
  speechmatics: RetrieveTranscriptResponse;
260
260
  elevenlabs: SpeechToTextChunkResponseModel;
261
+ soniox: Transcription;
261
262
  };
262
263
  /**
263
264
  * Unified webhook event types
@@ -779,6 +780,73 @@ declare class ElevenLabsWebhookHandler extends BaseWebhookHandler {
779
780
  */
780
781
  declare function createElevenLabsWebhookHandler(): ElevenLabsWebhookHandler;
781
782
 
783
+ /**
784
+ * Soniox webhook handler
785
+ * Parses and normalizes Soniox webhook callbacks
786
+ *
787
+ * Soniox webhooks are notification-only: payload is `{ id, status }`.
788
+ * The consumer must call `getTranscript(id)` to fetch the full transcript.
789
+ *
790
+ * @see https://soniox.com/docs/stt/async/webhooks
791
+ */
792
+
793
+ /**
794
+ * Soniox webhook handler
795
+ *
796
+ * Handles webhook callbacks from Soniox async transcription API.
797
+ * Soniox sends minimal notification payloads with `{ id, status }`.
798
+ * No transcript data is included — use `getTranscript(id)` to fetch results.
799
+ *
800
+ * @example
801
+ * ```typescript
802
+ * import { SonioxWebhookHandler } from '@meeting-baas/sdk/webhooks';
803
+ *
804
+ * const handler = new SonioxWebhookHandler();
805
+ *
806
+ * const event = handler.parse(req.body);
807
+ * if (event.eventType === 'transcription.completed') {
808
+ * // Fetch transcript via adapter
809
+ * const result = await sonioxAdapter.getTranscript(event.data.id);
810
+ * }
811
+ * ```
812
+ */
813
+ declare class SonioxWebhookHandler extends BaseWebhookHandler {
814
+ readonly provider: TranscriptionProvider;
815
+ /**
816
+ * Check if payload matches Soniox webhook format
817
+ *
818
+ * Soniox webhooks have a minimal `{ id, status }` shape.
819
+ * Excludes false positives by checking the payload does NOT have
820
+ * fields unique to other providers.
821
+ */
822
+ matches(payload: unknown, _options?: {
823
+ queryParams?: Record<string, string>;
824
+ userAgent?: string;
825
+ }): boolean;
826
+ /**
827
+ * Parse Soniox webhook payload to unified format
828
+ *
829
+ * Returns notification-only data (id + status). No transcript text
830
+ * is included — Soniox webhooks are notification-only.
831
+ */
832
+ parse(payload: unknown, _options?: {
833
+ queryParams?: Record<string, string>;
834
+ }): UnifiedWebhookEvent;
835
+ /**
836
+ * Verify Soniox webhook signature
837
+ *
838
+ * Soniox uses custom auth headers on webhook delivery rather than
839
+ * HMAC signature verification. No server-side verification is available.
840
+ *
841
+ * @returns Always returns true
842
+ */
843
+ verify(): boolean;
844
+ }
845
+ /**
846
+ * Factory function to create a Soniox webhook handler
847
+ */
848
+ declare function createSonioxWebhookHandler(): SonioxWebhookHandler;
849
+
782
850
  /**
783
851
  * Webhook router with automatic provider detection
784
852
  * Routes webhook payloads to the correct provider handler
@@ -982,4 +1050,4 @@ declare class WebhookRouter {
982
1050
  */
983
1051
  declare function createWebhookRouter(): WebhookRouter;
984
1052
 
985
- export { AssemblyAIWebhookHandler, type AssemblyAIWebhookPayload, AzureWebhookHandler, BaseWebhookHandler, DeepgramWebhookHandler, ListenV1Response as DeepgramWebhookPayload, ElevenLabsWebhookHandler, CallbackTranscriptionErrorPayload as GladiaWebhookErrorPayload, GladiaWebhookHandler, type GladiaWebhookPayload, CallbackTranscriptionSuccessPayload as GladiaWebhookSuccessPayload, type ProviderWebhookPayloadMap, SpeechmaticsWebhookHandler, type UnifiedWebhookEvent, type WebhookEventType, WebhookRouter, type WebhookRouterOptions, type WebhookRouterResult, type WebhookValidation, type WebhookVerificationOptions, createAssemblyAIWebhookHandler, createAzureWebhookHandler, createDeepgramWebhookHandler, createElevenLabsWebhookHandler, createGladiaWebhookHandler, createWebhookRouter };
1053
+ export { AssemblyAIWebhookHandler, type AssemblyAIWebhookPayload, AzureWebhookHandler, type AzureWebhookPayload, BaseWebhookHandler, DeepgramWebhookHandler, ListenV1Response as DeepgramWebhookPayload, ElevenLabsWebhookHandler, SpeechToTextChunkResponseModel as ElevenLabsWebhookPayload, CallbackTranscriptionErrorPayload as GladiaWebhookErrorPayload, GladiaWebhookHandler, type GladiaWebhookPayload, CallbackTranscriptionSuccessPayload as GladiaWebhookSuccessPayload, type ProviderWebhookPayloadMap, SonioxWebhookHandler, Transcription as SonioxWebhookPayload, SpeechmaticsWebhookHandler, RetrieveTranscriptResponse as SpeechmaticsWebhookPayload, type UnifiedWebhookEvent, type WebhookEventType, WebhookRouter, type WebhookRouterOptions, type WebhookRouterResult, type WebhookValidation, type WebhookVerificationOptions, createAssemblyAIWebhookHandler, createAzureWebhookHandler, createDeepgramWebhookHandler, createElevenLabsWebhookHandler, createGladiaWebhookHandler, createSonioxWebhookHandler, createWebhookRouter };
@@ -1,4 +1,4 @@
1
- import { gS as TranscriptionStatus, gP as Speaker, gQ as Word, gR as Utterance, V as CallbackTranscriptionSuccessPayload, K as CallbackTranscriptionErrorPayload, bv as Transcript, dx as ListenV1Response, eZ as RetrieveTranscriptResponse, fz as SpeechToTextChunkResponseModel } from './speechToTextChunkResponseModel-B4kVoFc3.js';
1
+ import { h2 as TranscriptionStatus, g$ as Speaker, h0 as Word, h1 as Utterance, V as CallbackTranscriptionSuccessPayload, K as CallbackTranscriptionErrorPayload, bt as Transcript, dw as ListenV1Response, eY as RetrieveTranscriptResponse, fL as SpeechToTextChunkResponseModel, fy as Transcription } from './speechToTextChunkResponseModel-CI-Aqxcr.js';
2
2
  import { T as TranscriptionProvider } from './provider-metadata-D1d-9cng.js';
3
3
  import './constants.js';
4
4
 
@@ -258,6 +258,7 @@ type ProviderWebhookPayloadMap = {
258
258
  "openai-whisper": never;
259
259
  speechmatics: RetrieveTranscriptResponse;
260
260
  elevenlabs: SpeechToTextChunkResponseModel;
261
+ soniox: Transcription;
261
262
  };
262
263
  /**
263
264
  * Unified webhook event types
@@ -779,6 +780,73 @@ declare class ElevenLabsWebhookHandler extends BaseWebhookHandler {
779
780
  */
780
781
  declare function createElevenLabsWebhookHandler(): ElevenLabsWebhookHandler;
781
782
 
783
+ /**
784
+ * Soniox webhook handler
785
+ * Parses and normalizes Soniox webhook callbacks
786
+ *
787
+ * Soniox webhooks are notification-only: payload is `{ id, status }`.
788
+ * The consumer must call `getTranscript(id)` to fetch the full transcript.
789
+ *
790
+ * @see https://soniox.com/docs/stt/async/webhooks
791
+ */
792
+
793
+ /**
794
+ * Soniox webhook handler
795
+ *
796
+ * Handles webhook callbacks from Soniox async transcription API.
797
+ * Soniox sends minimal notification payloads with `{ id, status }`.
798
+ * No transcript data is included — use `getTranscript(id)` to fetch results.
799
+ *
800
+ * @example
801
+ * ```typescript
802
+ * import { SonioxWebhookHandler } from '@meeting-baas/sdk/webhooks';
803
+ *
804
+ * const handler = new SonioxWebhookHandler();
805
+ *
806
+ * const event = handler.parse(req.body);
807
+ * if (event.eventType === 'transcription.completed') {
808
+ * // Fetch transcript via adapter
809
+ * const result = await sonioxAdapter.getTranscript(event.data.id);
810
+ * }
811
+ * ```
812
+ */
813
+ declare class SonioxWebhookHandler extends BaseWebhookHandler {
814
+ readonly provider: TranscriptionProvider;
815
+ /**
816
+ * Check if payload matches Soniox webhook format
817
+ *
818
+ * Soniox webhooks have a minimal `{ id, status }` shape.
819
+ * Excludes false positives by checking the payload does NOT have
820
+ * fields unique to other providers.
821
+ */
822
+ matches(payload: unknown, _options?: {
823
+ queryParams?: Record<string, string>;
824
+ userAgent?: string;
825
+ }): boolean;
826
+ /**
827
+ * Parse Soniox webhook payload to unified format
828
+ *
829
+ * Returns notification-only data (id + status). No transcript text
830
+ * is included — Soniox webhooks are notification-only.
831
+ */
832
+ parse(payload: unknown, _options?: {
833
+ queryParams?: Record<string, string>;
834
+ }): UnifiedWebhookEvent;
835
+ /**
836
+ * Verify Soniox webhook signature
837
+ *
838
+ * Soniox uses custom auth headers on webhook delivery rather than
839
+ * HMAC signature verification. No server-side verification is available.
840
+ *
841
+ * @returns Always returns true
842
+ */
843
+ verify(): boolean;
844
+ }
845
+ /**
846
+ * Factory function to create a Soniox webhook handler
847
+ */
848
+ declare function createSonioxWebhookHandler(): SonioxWebhookHandler;
849
+
782
850
  /**
783
851
  * Webhook router with automatic provider detection
784
852
  * Routes webhook payloads to the correct provider handler
@@ -982,4 +1050,4 @@ declare class WebhookRouter {
982
1050
  */
983
1051
  declare function createWebhookRouter(): WebhookRouter;
984
1052
 
985
- export { AssemblyAIWebhookHandler, type AssemblyAIWebhookPayload, AzureWebhookHandler, BaseWebhookHandler, DeepgramWebhookHandler, ListenV1Response as DeepgramWebhookPayload, ElevenLabsWebhookHandler, CallbackTranscriptionErrorPayload as GladiaWebhookErrorPayload, GladiaWebhookHandler, type GladiaWebhookPayload, CallbackTranscriptionSuccessPayload as GladiaWebhookSuccessPayload, type ProviderWebhookPayloadMap, SpeechmaticsWebhookHandler, type UnifiedWebhookEvent, type WebhookEventType, WebhookRouter, type WebhookRouterOptions, type WebhookRouterResult, type WebhookValidation, type WebhookVerificationOptions, createAssemblyAIWebhookHandler, createAzureWebhookHandler, createDeepgramWebhookHandler, createElevenLabsWebhookHandler, createGladiaWebhookHandler, createWebhookRouter };
1053
+ export { AssemblyAIWebhookHandler, type AssemblyAIWebhookPayload, AzureWebhookHandler, type AzureWebhookPayload, BaseWebhookHandler, DeepgramWebhookHandler, ListenV1Response as DeepgramWebhookPayload, ElevenLabsWebhookHandler, SpeechToTextChunkResponseModel as ElevenLabsWebhookPayload, CallbackTranscriptionErrorPayload as GladiaWebhookErrorPayload, GladiaWebhookHandler, type GladiaWebhookPayload, CallbackTranscriptionSuccessPayload as GladiaWebhookSuccessPayload, type ProviderWebhookPayloadMap, SonioxWebhookHandler, Transcription as SonioxWebhookPayload, SpeechmaticsWebhookHandler, RetrieveTranscriptResponse as SpeechmaticsWebhookPayload, type UnifiedWebhookEvent, type WebhookEventType, WebhookRouter, type WebhookRouterOptions, type WebhookRouterResult, type WebhookValidation, type WebhookVerificationOptions, createAssemblyAIWebhookHandler, createAzureWebhookHandler, createDeepgramWebhookHandler, createElevenLabsWebhookHandler, createGladiaWebhookHandler, createSonioxWebhookHandler, createWebhookRouter };
package/dist/webhooks.js CHANGED
@@ -37,6 +37,7 @@ __export(webhooks_exports, {
37
37
  DeepgramWebhookHandler: () => DeepgramWebhookHandler,
38
38
  ElevenLabsWebhookHandler: () => ElevenLabsWebhookHandler,
39
39
  GladiaWebhookHandler: () => GladiaWebhookHandler,
40
+ SonioxWebhookHandler: () => SonioxWebhookHandler,
40
41
  SpeechmaticsWebhookHandler: () => SpeechmaticsWebhookHandler,
41
42
  WebhookRouter: () => WebhookRouter,
42
43
  createAssemblyAIWebhookHandler: () => createAssemblyAIWebhookHandler,
@@ -44,6 +45,7 @@ __export(webhooks_exports, {
44
45
  createDeepgramWebhookHandler: () => createDeepgramWebhookHandler,
45
46
  createElevenLabsWebhookHandler: () => createElevenLabsWebhookHandler,
46
47
  createGladiaWebhookHandler: () => createGladiaWebhookHandler,
48
+ createSonioxWebhookHandler: () => createSonioxWebhookHandler,
47
49
  createWebhookRouter: () => createWebhookRouter
48
50
  });
49
51
  module.exports = __toCommonJS(webhooks_exports);
@@ -1108,6 +1110,113 @@ function createElevenLabsWebhookHandler() {
1108
1110
  return new ElevenLabsWebhookHandler();
1109
1111
  }
1110
1112
 
1113
+ // src/generated/soniox/schema/transcriptionStatus.ts
1114
+ var TranscriptionStatus = {
1115
+ queued: "queued",
1116
+ processing: "processing",
1117
+ completed: "completed",
1118
+ error: "error"
1119
+ };
1120
+
1121
+ // src/webhooks/soniox-webhook.ts
1122
+ var SonioxWebhookHandler = class extends BaseWebhookHandler {
1123
+ constructor() {
1124
+ super(...arguments);
1125
+ this.provider = "soniox";
1126
+ }
1127
+ /**
1128
+ * Check if payload matches Soniox webhook format
1129
+ *
1130
+ * Soniox webhooks have a minimal `{ id, status }` shape.
1131
+ * Excludes false positives by checking the payload does NOT have
1132
+ * fields unique to other providers.
1133
+ */
1134
+ matches(payload, _options) {
1135
+ if (!payload || typeof payload !== "object") {
1136
+ return false;
1137
+ }
1138
+ const obj = payload;
1139
+ if (typeof obj.id !== "string" || typeof obj.status !== "string") {
1140
+ return false;
1141
+ }
1142
+ const validStatuses = Object.values(TranscriptionStatus);
1143
+ if (!validStatuses.includes(obj.status)) {
1144
+ return false;
1145
+ }
1146
+ if ("language_code" in obj && "words" in obj) {
1147
+ return false;
1148
+ }
1149
+ if ("metadata" in obj) {
1150
+ const meta = obj.metadata;
1151
+ if (meta && typeof meta === "object" && "model_info" in meta) {
1152
+ return false;
1153
+ }
1154
+ }
1155
+ if ("results" in obj && Array.isArray(obj.results)) {
1156
+ return false;
1157
+ }
1158
+ if ("event" in obj) {
1159
+ return false;
1160
+ }
1161
+ if ("transcript_id" in obj) {
1162
+ return false;
1163
+ }
1164
+ return true;
1165
+ }
1166
+ /**
1167
+ * Parse Soniox webhook payload to unified format
1168
+ *
1169
+ * Returns notification-only data (id + status). No transcript text
1170
+ * is included — Soniox webhooks are notification-only.
1171
+ */
1172
+ parse(payload, _options) {
1173
+ if (!this.matches(payload)) {
1174
+ return this.createErrorEvent(payload, "Invalid Soniox webhook payload");
1175
+ }
1176
+ const data = payload;
1177
+ let eventType;
1178
+ switch (data.status) {
1179
+ case TranscriptionStatus.completed:
1180
+ eventType = "transcription.completed";
1181
+ break;
1182
+ case TranscriptionStatus.error:
1183
+ eventType = "transcription.failed";
1184
+ break;
1185
+ case TranscriptionStatus.processing:
1186
+ eventType = "transcription.processing";
1187
+ break;
1188
+ default:
1189
+ eventType = "transcription.created";
1190
+ }
1191
+ return {
1192
+ success: data.status !== TranscriptionStatus.error,
1193
+ provider: this.provider,
1194
+ eventType,
1195
+ data: {
1196
+ id: data.id,
1197
+ status: data.status === TranscriptionStatus.completed ? "completed" : data.status === TranscriptionStatus.error ? "error" : "processing",
1198
+ error: data.error_message ?? void 0
1199
+ },
1200
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
1201
+ raw: payload
1202
+ };
1203
+ }
1204
+ /**
1205
+ * Verify Soniox webhook signature
1206
+ *
1207
+ * Soniox uses custom auth headers on webhook delivery rather than
1208
+ * HMAC signature verification. No server-side verification is available.
1209
+ *
1210
+ * @returns Always returns true
1211
+ */
1212
+ verify() {
1213
+ return true;
1214
+ }
1215
+ };
1216
+ function createSonioxWebhookHandler() {
1217
+ return new SonioxWebhookHandler();
1218
+ }
1219
+
1111
1220
  // src/webhooks/webhook-router.ts
1112
1221
  var WebhookRouter = class {
1113
1222
  constructor() {
@@ -1117,7 +1226,8 @@ var WebhookRouter = class {
1117
1226
  ["deepgram", new DeepgramWebhookHandler()],
1118
1227
  ["azure-stt", new AzureWebhookHandler()],
1119
1228
  ["speechmatics", new SpeechmaticsWebhookHandler()],
1120
- ["elevenlabs", new ElevenLabsWebhookHandler()]
1229
+ ["elevenlabs", new ElevenLabsWebhookHandler()],
1230
+ ["soniox", new SonioxWebhookHandler()]
1121
1231
  ]);
1122
1232
  }
1123
1233
  /**
@@ -1299,6 +1409,7 @@ function createWebhookRouter() {
1299
1409
  DeepgramWebhookHandler,
1300
1410
  ElevenLabsWebhookHandler,
1301
1411
  GladiaWebhookHandler,
1412
+ SonioxWebhookHandler,
1302
1413
  SpeechmaticsWebhookHandler,
1303
1414
  WebhookRouter,
1304
1415
  createAssemblyAIWebhookHandler,
@@ -1306,6 +1417,7 @@ function createWebhookRouter() {
1306
1417
  createDeepgramWebhookHandler,
1307
1418
  createElevenLabsWebhookHandler,
1308
1419
  createGladiaWebhookHandler,
1420
+ createSonioxWebhookHandler,
1309
1421
  createWebhookRouter
1310
1422
  });
1311
1423
  //# sourceMappingURL=webhooks.js.map
package/dist/webhooks.mjs CHANGED
@@ -1060,6 +1060,113 @@ function createElevenLabsWebhookHandler() {
1060
1060
  return new ElevenLabsWebhookHandler();
1061
1061
  }
1062
1062
 
1063
+ // src/generated/soniox/schema/transcriptionStatus.ts
1064
+ var TranscriptionStatus = {
1065
+ queued: "queued",
1066
+ processing: "processing",
1067
+ completed: "completed",
1068
+ error: "error"
1069
+ };
1070
+
1071
+ // src/webhooks/soniox-webhook.ts
1072
+ var SonioxWebhookHandler = class extends BaseWebhookHandler {
1073
+ constructor() {
1074
+ super(...arguments);
1075
+ this.provider = "soniox";
1076
+ }
1077
+ /**
1078
+ * Check if payload matches Soniox webhook format
1079
+ *
1080
+ * Soniox webhooks have a minimal `{ id, status }` shape.
1081
+ * Excludes false positives by checking the payload does NOT have
1082
+ * fields unique to other providers.
1083
+ */
1084
+ matches(payload, _options) {
1085
+ if (!payload || typeof payload !== "object") {
1086
+ return false;
1087
+ }
1088
+ const obj = payload;
1089
+ if (typeof obj.id !== "string" || typeof obj.status !== "string") {
1090
+ return false;
1091
+ }
1092
+ const validStatuses = Object.values(TranscriptionStatus);
1093
+ if (!validStatuses.includes(obj.status)) {
1094
+ return false;
1095
+ }
1096
+ if ("language_code" in obj && "words" in obj) {
1097
+ return false;
1098
+ }
1099
+ if ("metadata" in obj) {
1100
+ const meta = obj.metadata;
1101
+ if (meta && typeof meta === "object" && "model_info" in meta) {
1102
+ return false;
1103
+ }
1104
+ }
1105
+ if ("results" in obj && Array.isArray(obj.results)) {
1106
+ return false;
1107
+ }
1108
+ if ("event" in obj) {
1109
+ return false;
1110
+ }
1111
+ if ("transcript_id" in obj) {
1112
+ return false;
1113
+ }
1114
+ return true;
1115
+ }
1116
+ /**
1117
+ * Parse Soniox webhook payload to unified format
1118
+ *
1119
+ * Returns notification-only data (id + status). No transcript text
1120
+ * is included — Soniox webhooks are notification-only.
1121
+ */
1122
+ parse(payload, _options) {
1123
+ if (!this.matches(payload)) {
1124
+ return this.createErrorEvent(payload, "Invalid Soniox webhook payload");
1125
+ }
1126
+ const data = payload;
1127
+ let eventType;
1128
+ switch (data.status) {
1129
+ case TranscriptionStatus.completed:
1130
+ eventType = "transcription.completed";
1131
+ break;
1132
+ case TranscriptionStatus.error:
1133
+ eventType = "transcription.failed";
1134
+ break;
1135
+ case TranscriptionStatus.processing:
1136
+ eventType = "transcription.processing";
1137
+ break;
1138
+ default:
1139
+ eventType = "transcription.created";
1140
+ }
1141
+ return {
1142
+ success: data.status !== TranscriptionStatus.error,
1143
+ provider: this.provider,
1144
+ eventType,
1145
+ data: {
1146
+ id: data.id,
1147
+ status: data.status === TranscriptionStatus.completed ? "completed" : data.status === TranscriptionStatus.error ? "error" : "processing",
1148
+ error: data.error_message ?? void 0
1149
+ },
1150
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
1151
+ raw: payload
1152
+ };
1153
+ }
1154
+ /**
1155
+ * Verify Soniox webhook signature
1156
+ *
1157
+ * Soniox uses custom auth headers on webhook delivery rather than
1158
+ * HMAC signature verification. No server-side verification is available.
1159
+ *
1160
+ * @returns Always returns true
1161
+ */
1162
+ verify() {
1163
+ return true;
1164
+ }
1165
+ };
1166
+ function createSonioxWebhookHandler() {
1167
+ return new SonioxWebhookHandler();
1168
+ }
1169
+
1063
1170
  // src/webhooks/webhook-router.ts
1064
1171
  var WebhookRouter = class {
1065
1172
  constructor() {
@@ -1069,7 +1176,8 @@ var WebhookRouter = class {
1069
1176
  ["deepgram", new DeepgramWebhookHandler()],
1070
1177
  ["azure-stt", new AzureWebhookHandler()],
1071
1178
  ["speechmatics", new SpeechmaticsWebhookHandler()],
1072
- ["elevenlabs", new ElevenLabsWebhookHandler()]
1179
+ ["elevenlabs", new ElevenLabsWebhookHandler()],
1180
+ ["soniox", new SonioxWebhookHandler()]
1073
1181
  ]);
1074
1182
  }
1075
1183
  /**
@@ -1250,6 +1358,7 @@ export {
1250
1358
  DeepgramWebhookHandler,
1251
1359
  ElevenLabsWebhookHandler,
1252
1360
  GladiaWebhookHandler,
1361
+ SonioxWebhookHandler,
1253
1362
  SpeechmaticsWebhookHandler,
1254
1363
  WebhookRouter,
1255
1364
  createAssemblyAIWebhookHandler,
@@ -1257,6 +1366,7 @@ export {
1257
1366
  createDeepgramWebhookHandler,
1258
1367
  createElevenLabsWebhookHandler,
1259
1368
  createGladiaWebhookHandler,
1369
+ createSonioxWebhookHandler,
1260
1370
  createWebhookRouter
1261
1371
  };
1262
1372
  //# sourceMappingURL=webhooks.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "voice-router-dev",
3
- "version": "0.8.8",
3
+ "version": "0.9.0",
4
4
  "description": "Universal speech-to-text router for Gladia, AssemblyAI, Deepgram, Azure, OpenAI Whisper, Speechmatics, Soniox, and ElevenLabs",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",