@memberjunction/server 6.2.0-edge.1 → 6.2.0-edge.3
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/README.md +30 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/config.d.ts +2189 -71
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +123 -3
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +11 -23
- package/dist/context.js.map +1 -1
- package/dist/generated/graphql-schemas/__mj.d.ts +2143 -205
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +24441 -14433
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/FireAndForgetHeartbeat.d.ts +15 -1
- package/dist/generic/FireAndForgetHeartbeat.d.ts.map +1 -1
- package/dist/generic/FireAndForgetHeartbeat.js +16 -2
- package/dist/generic/FireAndForgetHeartbeat.js.map +1 -1
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts +31 -0
- package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -0
- package/dist/generic/OrphanedConversationDetailReconciler.js +215 -0
- package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -0
- package/dist/generic/PushStatusResolver.d.ts +38 -0
- package/dist/generic/PushStatusResolver.d.ts.map +1 -1
- package/dist/generic/PushStatusResolver.js +84 -1
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +56 -4
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +191 -74
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +4 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +33 -1
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +204 -50
- package/dist/index.js.map +1 -1
- package/dist/postgresqlCompat.d.ts +8 -0
- package/dist/postgresqlCompat.d.ts.map +1 -0
- package/dist/postgresqlCompat.js +19 -0
- package/dist/postgresqlCompat.js.map +1 -0
- package/dist/postgresqlPoolSettings.d.ts +108 -0
- package/dist/postgresqlPoolSettings.d.ts.map +1 -0
- package/dist/postgresqlPoolSettings.js +134 -0
- package/dist/postgresqlPoolSettings.js.map +1 -0
- package/dist/resolvers/AdhocQueryResolver.d.ts +23 -18
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +77 -167
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/AgentRunStatusPublisher.d.ts +55 -0
- package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -0
- package/dist/resolvers/AgentRunStatusPublisher.js +141 -0
- package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -0
- package/dist/resolvers/ConversationRunEventsResolver.d.ts +90 -0
- package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -0
- package/dist/resolvers/ConversationRunEventsResolver.js +283 -0
- package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.d.ts +98 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.d.ts.map +1 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.js +227 -0
- package/dist/resolvers/DuplicateEntryCheckResolver.js.map +1 -0
- package/dist/resolvers/EntityRecordNameResolver.d.ts +7 -23
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +9 -47
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js +2 -1
- package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +9 -0
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/HumanHandoffResolver.d.ts +107 -0
- package/dist/resolvers/HumanHandoffResolver.d.ts.map +1 -0
- package/dist/resolvers/HumanHandoffResolver.js +324 -0
- package/dist/resolvers/HumanHandoffResolver.js.map +1 -0
- package/dist/resolvers/MeetingResolver.d.ts +69 -0
- package/dist/resolvers/MeetingResolver.d.ts.map +1 -0
- package/dist/resolvers/MeetingResolver.js +381 -0
- package/dist/resolvers/MeetingResolver.js.map +1 -0
- package/dist/resolvers/MergeRecordsResolver.d.ts +7 -0
- package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +16 -2
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.d.ts +34 -1
- package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +202 -7
- package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +45 -89
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +94 -240
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +0 -16
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +23 -153
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunDecisionResolver.d.ts +149 -0
- package/dist/resolvers/RunDecisionResolver.d.ts.map +1 -0
- package/dist/resolvers/RunDecisionResolver.js +396 -0
- package/dist/resolvers/RunDecisionResolver.js.map +1 -0
- package/dist/resolvers/VectorizeEntityResolver.d.ts +1 -1
- package/dist/resolvers/VectorizeEntityResolver.d.ts.map +1 -1
- package/dist/resolvers/VectorizeEntityResolver.js +14 -10
- package/dist/resolvers/VectorizeEntityResolver.js.map +1 -1
- package/dist/resolvers/adhocTimeout.d.ts +7 -0
- package/dist/resolvers/adhocTimeout.d.ts.map +1 -0
- package/dist/resolvers/adhocTimeout.js +12 -0
- package/dist/resolvers/adhocTimeout.js.map +1 -0
- package/dist/resolvers/meetings/index.d.ts +5 -0
- package/dist/resolvers/meetings/index.d.ts.map +1 -0
- package/dist/resolvers/meetings/index.js +5 -0
- package/dist/resolvers/meetings/index.js.map +1 -0
- package/dist/resolvers/meetings/meetingHelpers.d.ts +17 -0
- package/dist/resolvers/meetings/meetingHelpers.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingHelpers.js +212 -0
- package/dist/resolvers/meetings/meetingHelpers.js.map +1 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts +12 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingMutations.js +418 -0
- package/dist/resolvers/meetings/meetingMutations.js.map +1 -0
- package/dist/resolvers/meetings/meetingQueries.d.ts +7 -0
- package/dist/resolvers/meetings/meetingQueries.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingQueries.js +113 -0
- package/dist/resolvers/meetings/meetingQueries.js.map +1 -0
- package/dist/resolvers/meetings/meetingTypes.d.ts +89 -0
- package/dist/resolvers/meetings/meetingTypes.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingTypes.js +345 -0
- package/dist/resolvers/meetings/meetingTypes.js.map +1 -0
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +8 -5
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +8 -0
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +27 -1
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/WorkQueueHostService.d.ts +36 -0
- package/dist/services/WorkQueueHostService.d.ts.map +1 -0
- package/dist/services/WorkQueueHostService.js +97 -0
- package/dist/services/WorkQueueHostService.js.map +1 -0
- package/dist/services/workQueueConfig.d.ts +103 -0
- package/dist/services/workQueueConfig.d.ts.map +1 -0
- package/dist/services/workQueueConfig.js +48 -0
- package/dist/services/workQueueConfig.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +95 -92
- package/src/__tests__/AdhocQueryResolver.bugs.test.ts +14 -35
- package/src/__tests__/AdhocQueryResolver.pagination.test.ts +6 -2
- package/src/__tests__/AdhocQueryResolver.scopeGuard.test.ts +3 -3
- package/src/__tests__/AgentRunStatusPublisher.test.ts +175 -0
- package/src/__tests__/DuplicateEntryCheckResolver.test.ts +300 -0
- package/src/__tests__/EntityRecordNameResolver.fieldSecurity.test.ts +27 -72
- package/src/__tests__/HumanHandoffResolver.test.ts +233 -0
- package/src/__tests__/MeetingResolver.test.ts +374 -0
- package/src/__tests__/RealtimeBridgeResolver.test.ts +240 -2
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +216 -2
- package/src/__tests__/RemoteBrowserActionRecovery.test.ts +7 -1
- package/src/__tests__/RemoteBrowserAudioStream.test.ts +7 -1
- package/src/__tests__/RemoteBrowserSnapshot.test.ts +7 -1
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +96 -0
- package/src/__tests__/ResolverBase.clientOldValues.test.ts +52 -0
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +21 -2
- package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +291 -0
- package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +182 -12
- package/src/__tests__/RunAIAgentResolver.streaming.test.ts +18 -27
- package/src/__tests__/RunDecisionResolver.test.ts +699 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +43 -0
- package/src/__tests__/VectorizeEntityResolver.test.ts +106 -0
- package/src/__tests__/WorkQueueHostService.test.ts +133 -0
- package/src/__tests__/adhocTimeoutClamp.test.ts +26 -0
- package/src/__tests__/conversationRunEvents.test.ts +399 -0
- package/src/__tests__/orphanedConversationDetailReconciler.test.ts +283 -0
- package/src/__tests__/postgresqlPoolSettings.test.ts +131 -0
- package/src/__tests__/pushStatusFanOut.test.ts +206 -0
- package/src/__tests__/translateBracketsToPG.test.ts +20 -0
- package/src/auth/__tests__/backward-compatibility.test.ts +1 -0
- package/src/config.ts +130 -3
- package/src/context.ts +11 -24
- package/src/generated/graphql-schemas/__mj.ts +24183 -17182
- package/src/generic/FireAndForgetHeartbeat.ts +16 -2
- package/src/generic/OrphanedConversationDetailReconciler.ts +267 -0
- package/src/generic/PushStatusResolver.ts +97 -1
- package/src/generic/ResolverBase.ts +220 -76
- package/src/generic/RunViewResolver.ts +33 -2
- package/src/index.ts +228 -51
- package/src/postgresqlCompat.ts +21 -0
- package/src/postgresqlPoolSettings.ts +213 -0
- package/src/resolvers/AdhocQueryResolver.ts +88 -188
- package/src/resolvers/AgentRunStatusPublisher.ts +175 -0
- package/src/resolvers/ConversationRunEventsResolver.ts +308 -0
- package/src/resolvers/DuplicateEntryCheckResolver.ts +232 -0
- package/src/resolvers/EntityRecordNameResolver.ts +9 -51
- package/src/resolvers/FetchEntityVectorsResolver.ts +2 -1
- package/src/resolvers/GetDataResolver.ts +10 -0
- package/src/resolvers/HumanHandoffResolver.ts +304 -0
- package/src/resolvers/MeetingResolver.ts +438 -0
- package/src/resolvers/MergeRecordsResolver.ts +14 -2
- package/src/resolvers/RealtimeBridgeResolver.ts +227 -13
- package/src/resolvers/RealtimeClientSessionResolver.ts +99 -287
- package/src/resolvers/RunAIAgentResolver.ts +28 -174
- package/src/resolvers/RunDecisionResolver.ts +435 -0
- package/src/resolvers/VectorizeEntityResolver.ts +16 -11
- package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +93 -0
- package/src/resolvers/adhocTimeout.ts +12 -0
- package/src/resolvers/meetings/index.ts +4 -0
- package/src/resolvers/meetings/meetingHelpers.ts +307 -0
- package/src/resolvers/meetings/meetingMutations.ts +535 -0
- package/src/resolvers/meetings/meetingQueries.ts +172 -0
- package/src/resolvers/meetings/meetingTypes.ts +238 -0
- package/src/rest/ViewOperationsHandler.ts +8 -5
- package/src/services/TaskGraphActionRunner.ts +29 -1
- package/src/services/WorkQueueHostService.ts +129 -0
- package/src/services/workQueueConfig.ts +52 -0
- package/src/types.ts +5 -0
- package/dist/resolvers/adhoc-query-helpers.d.ts +0 -33
- package/dist/resolvers/adhoc-query-helpers.d.ts.map +0 -1
- package/dist/resolvers/adhoc-query-helpers.js +0 -50
- package/dist/resolvers/adhoc-query-helpers.js.map +0 -1
- package/src/__tests__/adhoc-query-helpers.test.ts +0 -50
- package/src/resolvers/adhoc-query-helpers.ts +0 -67
package/dist/config.d.ts
CHANGED
|
@@ -610,12 +610,12 @@ declare const rateLimitSchema: z.ZodObject<{
|
|
|
610
610
|
maxRequests?: number;
|
|
611
611
|
}>>;
|
|
612
612
|
}, "strip", z.ZodTypeAny, {
|
|
613
|
+
enabled?: boolean;
|
|
613
614
|
global?: {
|
|
614
615
|
message?: string;
|
|
615
616
|
windowMs?: number;
|
|
616
617
|
maxRequests?: number;
|
|
617
618
|
};
|
|
618
|
-
enabled?: boolean;
|
|
619
619
|
graphql?: {
|
|
620
620
|
windowMs?: number;
|
|
621
621
|
maxRequests?: number;
|
|
@@ -625,12 +625,12 @@ declare const rateLimitSchema: z.ZodObject<{
|
|
|
625
625
|
maxAttempts?: number;
|
|
626
626
|
};
|
|
627
627
|
}, {
|
|
628
|
+
enabled?: boolean;
|
|
628
629
|
global?: {
|
|
629
630
|
message?: string;
|
|
630
631
|
windowMs?: number;
|
|
631
632
|
maxRequests?: number;
|
|
632
633
|
};
|
|
633
|
-
enabled?: boolean;
|
|
634
634
|
graphql?: {
|
|
635
635
|
windowMs?: number;
|
|
636
636
|
maxRequests?: number;
|
|
@@ -1083,10 +1083,20 @@ declare const twilioTelephonySchema: z.ZodObject<{
|
|
|
1083
1083
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1084
1084
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1085
1085
|
streamPublicUrl: z.ZodString;
|
|
1086
|
-
/**
|
|
1086
|
+
/**
|
|
1087
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
1088
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
1089
|
+
*/
|
|
1087
1090
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1088
|
-
/**
|
|
1091
|
+
/**
|
|
1092
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
1093
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
1094
|
+
*/
|
|
1089
1095
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1096
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
1097
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1098
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
1099
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1090
1100
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1091
1101
|
/** Twilio Account SID (`AC…`). */
|
|
1092
1102
|
accountSid: z.ZodString;
|
|
@@ -1098,10 +1108,20 @@ declare const twilioTelephonySchema: z.ZodObject<{
|
|
|
1098
1108
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1099
1109
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1100
1110
|
streamPublicUrl: z.ZodString;
|
|
1101
|
-
/**
|
|
1111
|
+
/**
|
|
1112
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
1113
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
1114
|
+
*/
|
|
1102
1115
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1103
|
-
/**
|
|
1116
|
+
/**
|
|
1117
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
1118
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
1119
|
+
*/
|
|
1104
1120
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1121
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
1122
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1123
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
1124
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1105
1125
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1106
1126
|
/** Twilio Account SID (`AC…`). */
|
|
1107
1127
|
accountSid: z.ZodString;
|
|
@@ -1113,10 +1133,20 @@ declare const twilioTelephonySchema: z.ZodObject<{
|
|
|
1113
1133
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1114
1134
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1115
1135
|
streamPublicUrl: z.ZodString;
|
|
1116
|
-
/**
|
|
1136
|
+
/**
|
|
1137
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
1138
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
1139
|
+
*/
|
|
1117
1140
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1118
|
-
/**
|
|
1141
|
+
/**
|
|
1142
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
1143
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
1144
|
+
*/
|
|
1119
1145
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1146
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
1147
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1148
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
1149
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1120
1150
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1121
1151
|
/**
|
|
1122
1152
|
* Vonage Voice + WebSocket-media telephony binding. Voice-API auth is application-scoped
|
|
@@ -1137,8 +1167,14 @@ declare const vonageTelephonySchema: z.ZodObject<{
|
|
|
1137
1167
|
mediaPublicUrl: z.ZodString;
|
|
1138
1168
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1139
1169
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1140
|
-
/**
|
|
1170
|
+
/**
|
|
1171
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
1172
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
1173
|
+
* unanswered / failed / completed.
|
|
1174
|
+
*/
|
|
1141
1175
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
1176
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
1177
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1142
1178
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1143
1179
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1144
1180
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1152,8 +1188,14 @@ declare const vonageTelephonySchema: z.ZodObject<{
|
|
|
1152
1188
|
mediaPublicUrl: z.ZodString;
|
|
1153
1189
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1154
1190
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1155
|
-
/**
|
|
1191
|
+
/**
|
|
1192
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
1193
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
1194
|
+
* unanswered / failed / completed.
|
|
1195
|
+
*/
|
|
1156
1196
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
1197
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
1198
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1157
1199
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1158
1200
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1159
1201
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1167,8 +1209,14 @@ declare const vonageTelephonySchema: z.ZodObject<{
|
|
|
1167
1209
|
mediaPublicUrl: z.ZodString;
|
|
1168
1210
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1169
1211
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1170
|
-
/**
|
|
1212
|
+
/**
|
|
1213
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
1214
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
1215
|
+
* unanswered / failed / completed.
|
|
1216
|
+
*/
|
|
1171
1217
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
1218
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
1219
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1172
1220
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1173
1221
|
/**
|
|
1174
1222
|
* RingCentral telephony binding: **SIP device credentials** for the headless softphone (the
|
|
@@ -1279,9 +1327,237 @@ declare const teamsMeetingsSchema: z.ZodObject<{
|
|
|
1279
1327
|
/** The realtime model's PCM16 sample rate (Hz) the binding resamples to/from. Defaults to 16000. */
|
|
1280
1328
|
modelSampleRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1281
1329
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1330
|
+
/**
|
|
1331
|
+
* LiveKit SIP binding: phone calls carried by a SIP trunk and landed in a LiveKit room (every conversation lives in a room;
|
|
1332
|
+
* the carrier is only the pipe). LiveKit credentials default to the `LIVEKIT_URL` / `LIVEKIT_API_KEY` /
|
|
1333
|
+
* `LIVEKIT_API_SECRET` env vars the Meet room already uses. When `livekitSip` is omitted, the LiveKit SIP webhook is not mounted.
|
|
1334
|
+
* Point a LiveKit project webhook at `<public URL>/telephony/livekit-sip/webhook` (the signature is verified with the API secret).
|
|
1335
|
+
*/
|
|
1336
|
+
declare const livekitSipTelephonySchema: z.ZodObject<{
|
|
1337
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
1338
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
1339
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
1340
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
1341
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
1342
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
1343
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
1344
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
1345
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
1346
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1347
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
1348
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1349
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
1350
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1351
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
1352
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
1353
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
1354
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1355
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
1356
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1357
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
1358
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
1359
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
1360
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
1361
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
1362
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
1363
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
1364
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
1365
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
1366
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
1367
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1368
|
+
}, "strip", z.ZodTypeAny, {
|
|
1369
|
+
type?: "twilio-elastic-sip";
|
|
1370
|
+
numbers?: string[];
|
|
1371
|
+
originationUri?: string;
|
|
1372
|
+
terminationUri?: string;
|
|
1373
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1374
|
+
}, {
|
|
1375
|
+
type?: "twilio-elastic-sip";
|
|
1376
|
+
numbers?: string[];
|
|
1377
|
+
originationUri?: string;
|
|
1378
|
+
terminationUri?: string;
|
|
1379
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1380
|
+
}>>;
|
|
1381
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1382
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
1383
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
1384
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
1385
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
1386
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
1387
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
1388
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
1389
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
1390
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
1391
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1392
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
1393
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1394
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
1395
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1396
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
1397
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
1398
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
1399
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1400
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
1401
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1402
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
1403
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
1404
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
1405
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
1406
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
1407
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
1408
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
1409
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
1410
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
1411
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
1412
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1413
|
+
}, "strip", z.ZodTypeAny, {
|
|
1414
|
+
type?: "twilio-elastic-sip";
|
|
1415
|
+
numbers?: string[];
|
|
1416
|
+
originationUri?: string;
|
|
1417
|
+
terminationUri?: string;
|
|
1418
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1419
|
+
}, {
|
|
1420
|
+
type?: "twilio-elastic-sip";
|
|
1421
|
+
numbers?: string[];
|
|
1422
|
+
originationUri?: string;
|
|
1423
|
+
terminationUri?: string;
|
|
1424
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1425
|
+
}>>;
|
|
1426
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1427
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
1428
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
1429
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
1430
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
1431
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
1432
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
1433
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
1434
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
1435
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
1436
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1437
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
1438
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1439
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
1440
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1441
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
1442
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
1443
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
1444
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1445
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
1446
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1447
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
1448
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
1449
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
1450
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
1451
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
1452
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
1453
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
1454
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
1455
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
1456
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
1457
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1458
|
+
}, "strip", z.ZodTypeAny, {
|
|
1459
|
+
type?: "twilio-elastic-sip";
|
|
1460
|
+
numbers?: string[];
|
|
1461
|
+
originationUri?: string;
|
|
1462
|
+
terminationUri?: string;
|
|
1463
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1464
|
+
}, {
|
|
1465
|
+
type?: "twilio-elastic-sip";
|
|
1466
|
+
numbers?: string[];
|
|
1467
|
+
originationUri?: string;
|
|
1468
|
+
terminationUri?: string;
|
|
1469
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1470
|
+
}>>;
|
|
1471
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1282
1472
|
declare const telephonySchema: z.ZodObject<{
|
|
1283
1473
|
/** Master switch. When false (or when no vendor block is present), telephony routes are not mounted. */
|
|
1284
1474
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
1475
|
+
/**
|
|
1476
|
+
* Email of the user INBOUND calls run as. A caller is an anonymous member of the public, so the call needs a
|
|
1477
|
+
* principal to create its agent session and run the agent. Point this at a DEDICATED LEAST-PRIVILEGE user.
|
|
1478
|
+
* There is deliberately no fallback: if unset, unknown, inactive, or the system user, inbound calls are
|
|
1479
|
+
* rejected with a polite message and the rejection is logged. Applies to Twilio, Vonage and RingCentral.
|
|
1480
|
+
*/
|
|
1481
|
+
inboundRunAsUserEmail: z.ZodOptional<z.ZodString>;
|
|
1482
|
+
/** Maximum length of one phone call, in seconds. The bridge session is stopped (and the call hung up) at the cap. Defaults to 1800. */
|
|
1483
|
+
maxCallSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1484
|
+
/**
|
|
1485
|
+
* Most phone calls (every carrier together, both directions) the server carries at once. Past it an inbound
|
|
1486
|
+
* caller hears "all agents are busy" and an outbound request is refused. Keep it at or below the realtime
|
|
1487
|
+
* model plan's concurrent-session limit. Defaults to 25.
|
|
1488
|
+
*/
|
|
1489
|
+
maxConcurrentCalls: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1490
|
+
/** Outbound destination policy + per-user rate limit (see {@link outboundTelephonySchema}). */
|
|
1491
|
+
outbound: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
1492
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
1493
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
1494
|
+
/**
|
|
1495
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
1496
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
1497
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
1498
|
+
* Setting this REPLACES that list.
|
|
1499
|
+
*/
|
|
1500
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1501
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
1502
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1503
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1504
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
1505
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
1506
|
+
/**
|
|
1507
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
1508
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
1509
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
1510
|
+
* Setting this REPLACES that list.
|
|
1511
|
+
*/
|
|
1512
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1513
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
1514
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1515
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1516
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
1517
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
1518
|
+
/**
|
|
1519
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
1520
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
1521
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
1522
|
+
* Setting this REPLACES that list.
|
|
1523
|
+
*/
|
|
1524
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1525
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
1526
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1527
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
1528
|
+
/**
|
|
1529
|
+
* The places the agent may hand a live call to, by name (the agent names a target, never a number, an email or an agent
|
|
1530
|
+
* id). `kind` is `number` (the default; a phone number), `user` (a person at an Explorer console, who may accept or
|
|
1531
|
+
* decline; `userEmail`, optional `fallbackNumber` the room dials if they do not take it) or `agent` (another MJ AI agent,
|
|
1532
|
+
* by `agentName`). `user` and `agent` targets work on calls that live in a LiveKit room; a carrier call can only transfer to
|
|
1533
|
+
* a `number`. Every number is validated at startup against the outbound allow/block lists; an invalid entry is dropped
|
|
1534
|
+
* and logged. Empty (the default) means the agent cannot hand calls over at all.
|
|
1535
|
+
*/
|
|
1536
|
+
transferTargets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1537
|
+
name: z.ZodString;
|
|
1538
|
+
kind: z.ZodOptional<z.ZodEnum<["number", "user", "agent"]>>;
|
|
1539
|
+
number: z.ZodOptional<z.ZodString>;
|
|
1540
|
+
userEmail: z.ZodOptional<z.ZodString>;
|
|
1541
|
+
fallbackNumber: z.ZodOptional<z.ZodString>;
|
|
1542
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
1543
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1544
|
+
}, "strip", z.ZodTypeAny, {
|
|
1545
|
+
number?: string;
|
|
1546
|
+
name?: string;
|
|
1547
|
+
kind?: "number" | "user" | "agent";
|
|
1548
|
+
userEmail?: string;
|
|
1549
|
+
fallbackNumber?: string;
|
|
1550
|
+
agentName?: string;
|
|
1551
|
+
description?: string;
|
|
1552
|
+
}, {
|
|
1553
|
+
number?: string;
|
|
1554
|
+
name?: string;
|
|
1555
|
+
kind?: "number" | "user" | "agent";
|
|
1556
|
+
userEmail?: string;
|
|
1557
|
+
fallbackNumber?: string;
|
|
1558
|
+
agentName?: string;
|
|
1559
|
+
description?: string;
|
|
1560
|
+
}>, "many">>>;
|
|
1285
1561
|
/** Twilio Programmable Voice + Media Streams binding. */
|
|
1286
1562
|
twilio: z.ZodOptional<z.ZodObject<{
|
|
1287
1563
|
/** Twilio Account SID (`AC…`). */
|
|
@@ -1294,10 +1570,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1294
1570
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1295
1571
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1296
1572
|
streamPublicUrl: z.ZodString;
|
|
1297
|
-
/**
|
|
1573
|
+
/**
|
|
1574
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
1575
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
1576
|
+
*/
|
|
1298
1577
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1299
|
-
/**
|
|
1578
|
+
/**
|
|
1579
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
1580
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
1581
|
+
*/
|
|
1300
1582
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1583
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
1584
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1585
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
1586
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1301
1587
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1302
1588
|
/** Twilio Account SID (`AC…`). */
|
|
1303
1589
|
accountSid: z.ZodString;
|
|
@@ -1309,10 +1595,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1309
1595
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1310
1596
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1311
1597
|
streamPublicUrl: z.ZodString;
|
|
1312
|
-
/**
|
|
1598
|
+
/**
|
|
1599
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
1600
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
1601
|
+
*/
|
|
1313
1602
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1314
|
-
/**
|
|
1603
|
+
/**
|
|
1604
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
1605
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
1606
|
+
*/
|
|
1315
1607
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1608
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
1609
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1610
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
1611
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1316
1612
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1317
1613
|
/** Twilio Account SID (`AC…`). */
|
|
1318
1614
|
accountSid: z.ZodString;
|
|
@@ -1324,10 +1620,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1324
1620
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1325
1621
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1326
1622
|
streamPublicUrl: z.ZodString;
|
|
1327
|
-
/**
|
|
1623
|
+
/**
|
|
1624
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
1625
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
1626
|
+
*/
|
|
1328
1627
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1329
|
-
/**
|
|
1628
|
+
/**
|
|
1629
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
1630
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
1631
|
+
*/
|
|
1330
1632
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1633
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
1634
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
1635
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
1636
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1331
1637
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1332
1638
|
/** Vonage Voice + WebSocket-media binding. */
|
|
1333
1639
|
vonage: z.ZodOptional<z.ZodObject<{
|
|
@@ -1343,8 +1649,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1343
1649
|
mediaPublicUrl: z.ZodString;
|
|
1344
1650
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1345
1651
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1346
|
-
/**
|
|
1652
|
+
/**
|
|
1653
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
1654
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
1655
|
+
* unanswered / failed / completed.
|
|
1656
|
+
*/
|
|
1347
1657
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
1658
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
1659
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1348
1660
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1349
1661
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1350
1662
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1358,8 +1670,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1358
1670
|
mediaPublicUrl: z.ZodString;
|
|
1359
1671
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1360
1672
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1361
|
-
/**
|
|
1673
|
+
/**
|
|
1674
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
1675
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
1676
|
+
* unanswered / failed / completed.
|
|
1677
|
+
*/
|
|
1362
1678
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
1679
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
1680
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1363
1681
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1364
1682
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1365
1683
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1373,8 +1691,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1373
1691
|
mediaPublicUrl: z.ZodString;
|
|
1374
1692
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1375
1693
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1376
|
-
/**
|
|
1694
|
+
/**
|
|
1695
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
1696
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
1697
|
+
* unanswered / failed / completed.
|
|
1698
|
+
*/
|
|
1377
1699
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
1700
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
1701
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1378
1702
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1379
1703
|
/** RingCentral Call Control + media-stream binding. */
|
|
1380
1704
|
ringcentral: z.ZodOptional<z.ZodObject<{
|
|
@@ -1423,6 +1747,143 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1423
1747
|
/** Skip TLS cert validation (sandbox/test only — never in production). */
|
|
1424
1748
|
ignoreTlsCertErrors: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1425
1749
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1750
|
+
/** LiveKit SIP binding: phone calls carried by a SIP trunk, landed in a LiveKit room. */
|
|
1751
|
+
livekitSip: z.ZodOptional<z.ZodObject<{
|
|
1752
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
1753
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
1754
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
1755
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
1756
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
1757
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
1758
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
1759
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
1760
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
1761
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1762
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
1763
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1764
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
1765
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1766
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
1767
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
1768
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
1769
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1770
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
1771
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1772
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
1773
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
1774
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
1775
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
1776
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
1777
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
1778
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
1779
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
1780
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
1781
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
1782
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1783
|
+
}, "strip", z.ZodTypeAny, {
|
|
1784
|
+
type?: "twilio-elastic-sip";
|
|
1785
|
+
numbers?: string[];
|
|
1786
|
+
originationUri?: string;
|
|
1787
|
+
terminationUri?: string;
|
|
1788
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1789
|
+
}, {
|
|
1790
|
+
type?: "twilio-elastic-sip";
|
|
1791
|
+
numbers?: string[];
|
|
1792
|
+
originationUri?: string;
|
|
1793
|
+
terminationUri?: string;
|
|
1794
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1795
|
+
}>>;
|
|
1796
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1797
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
1798
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
1799
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
1800
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
1801
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
1802
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
1803
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
1804
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
1805
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
1806
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1807
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
1808
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1809
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
1810
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1811
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
1812
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
1813
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
1814
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1815
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
1816
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1817
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
1818
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
1819
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
1820
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
1821
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
1822
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
1823
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
1824
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
1825
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
1826
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
1827
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1828
|
+
}, "strip", z.ZodTypeAny, {
|
|
1829
|
+
type?: "twilio-elastic-sip";
|
|
1830
|
+
numbers?: string[];
|
|
1831
|
+
originationUri?: string;
|
|
1832
|
+
terminationUri?: string;
|
|
1833
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1834
|
+
}, {
|
|
1835
|
+
type?: "twilio-elastic-sip";
|
|
1836
|
+
numbers?: string[];
|
|
1837
|
+
originationUri?: string;
|
|
1838
|
+
terminationUri?: string;
|
|
1839
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1840
|
+
}>>;
|
|
1841
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1842
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
1843
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
1844
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
1845
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
1846
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
1847
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
1848
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
1849
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
1850
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
1851
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1852
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
1853
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1854
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
1855
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
1856
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
1857
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
1858
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
1859
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1860
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
1861
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1862
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
1863
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
1864
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
1865
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
1866
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
1867
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
1868
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
1869
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
1870
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
1871
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
1872
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1873
|
+
}, "strip", z.ZodTypeAny, {
|
|
1874
|
+
type?: "twilio-elastic-sip";
|
|
1875
|
+
numbers?: string[];
|
|
1876
|
+
originationUri?: string;
|
|
1877
|
+
terminationUri?: string;
|
|
1878
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1879
|
+
}, {
|
|
1880
|
+
type?: "twilio-elastic-sip";
|
|
1881
|
+
numbers?: string[];
|
|
1882
|
+
originationUri?: string;
|
|
1883
|
+
terminationUri?: string;
|
|
1884
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
1885
|
+
}>>;
|
|
1886
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1426
1887
|
/** Microsoft Teams meetings (Graph cloud-communications + ACS application-hosted media) binding. */
|
|
1427
1888
|
teams: z.ZodOptional<z.ZodObject<{
|
|
1428
1889
|
/** Master switch for the Teams meetings ingress. */
|
|
@@ -1473,6 +1934,92 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1473
1934
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1474
1935
|
/** Master switch. When false (or when no vendor block is present), telephony routes are not mounted. */
|
|
1475
1936
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
1937
|
+
/**
|
|
1938
|
+
* Email of the user INBOUND calls run as. A caller is an anonymous member of the public, so the call needs a
|
|
1939
|
+
* principal to create its agent session and run the agent. Point this at a DEDICATED LEAST-PRIVILEGE user.
|
|
1940
|
+
* There is deliberately no fallback: if unset, unknown, inactive, or the system user, inbound calls are
|
|
1941
|
+
* rejected with a polite message and the rejection is logged. Applies to Twilio, Vonage and RingCentral.
|
|
1942
|
+
*/
|
|
1943
|
+
inboundRunAsUserEmail: z.ZodOptional<z.ZodString>;
|
|
1944
|
+
/** Maximum length of one phone call, in seconds. The bridge session is stopped (and the call hung up) at the cap. Defaults to 1800. */
|
|
1945
|
+
maxCallSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1946
|
+
/**
|
|
1947
|
+
* Most phone calls (every carrier together, both directions) the server carries at once. Past it an inbound
|
|
1948
|
+
* caller hears "all agents are busy" and an outbound request is refused. Keep it at or below the realtime
|
|
1949
|
+
* model plan's concurrent-session limit. Defaults to 25.
|
|
1950
|
+
*/
|
|
1951
|
+
maxConcurrentCalls: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1952
|
+
/** Outbound destination policy + per-user rate limit (see {@link outboundTelephonySchema}). */
|
|
1953
|
+
outbound: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
1954
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
1955
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
1956
|
+
/**
|
|
1957
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
1958
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
1959
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
1960
|
+
* Setting this REPLACES that list.
|
|
1961
|
+
*/
|
|
1962
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1963
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
1964
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1965
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1966
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
1967
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
1968
|
+
/**
|
|
1969
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
1970
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
1971
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
1972
|
+
* Setting this REPLACES that list.
|
|
1973
|
+
*/
|
|
1974
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1975
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
1976
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1977
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1978
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
1979
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
1980
|
+
/**
|
|
1981
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
1982
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
1983
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
1984
|
+
* Setting this REPLACES that list.
|
|
1985
|
+
*/
|
|
1986
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1987
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
1988
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1989
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
1990
|
+
/**
|
|
1991
|
+
* The places the agent may hand a live call to, by name (the agent names a target, never a number, an email or an agent
|
|
1992
|
+
* id). `kind` is `number` (the default; a phone number), `user` (a person at an Explorer console, who may accept or
|
|
1993
|
+
* decline; `userEmail`, optional `fallbackNumber` the room dials if they do not take it) or `agent` (another MJ AI agent,
|
|
1994
|
+
* by `agentName`). `user` and `agent` targets work on calls that live in a LiveKit room; a carrier call can only transfer to
|
|
1995
|
+
* a `number`. Every number is validated at startup against the outbound allow/block lists; an invalid entry is dropped
|
|
1996
|
+
* and logged. Empty (the default) means the agent cannot hand calls over at all.
|
|
1997
|
+
*/
|
|
1998
|
+
transferTargets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1999
|
+
name: z.ZodString;
|
|
2000
|
+
kind: z.ZodOptional<z.ZodEnum<["number", "user", "agent"]>>;
|
|
2001
|
+
number: z.ZodOptional<z.ZodString>;
|
|
2002
|
+
userEmail: z.ZodOptional<z.ZodString>;
|
|
2003
|
+
fallbackNumber: z.ZodOptional<z.ZodString>;
|
|
2004
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
2005
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2006
|
+
}, "strip", z.ZodTypeAny, {
|
|
2007
|
+
number?: string;
|
|
2008
|
+
name?: string;
|
|
2009
|
+
kind?: "number" | "user" | "agent";
|
|
2010
|
+
userEmail?: string;
|
|
2011
|
+
fallbackNumber?: string;
|
|
2012
|
+
agentName?: string;
|
|
2013
|
+
description?: string;
|
|
2014
|
+
}, {
|
|
2015
|
+
number?: string;
|
|
2016
|
+
name?: string;
|
|
2017
|
+
kind?: "number" | "user" | "agent";
|
|
2018
|
+
userEmail?: string;
|
|
2019
|
+
fallbackNumber?: string;
|
|
2020
|
+
agentName?: string;
|
|
2021
|
+
description?: string;
|
|
2022
|
+
}>, "many">>>;
|
|
1476
2023
|
/** Twilio Programmable Voice + Media Streams binding. */
|
|
1477
2024
|
twilio: z.ZodOptional<z.ZodObject<{
|
|
1478
2025
|
/** Twilio Account SID (`AC…`). */
|
|
@@ -1485,10 +2032,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1485
2032
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1486
2033
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1487
2034
|
streamPublicUrl: z.ZodString;
|
|
1488
|
-
/**
|
|
2035
|
+
/**
|
|
2036
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
2037
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
2038
|
+
*/
|
|
1489
2039
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1490
|
-
/**
|
|
2040
|
+
/**
|
|
2041
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
2042
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
2043
|
+
*/
|
|
1491
2044
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2045
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
2046
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2047
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
2048
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1492
2049
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1493
2050
|
/** Twilio Account SID (`AC…`). */
|
|
1494
2051
|
accountSid: z.ZodString;
|
|
@@ -1500,10 +2057,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1500
2057
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1501
2058
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1502
2059
|
streamPublicUrl: z.ZodString;
|
|
1503
|
-
/**
|
|
2060
|
+
/**
|
|
2061
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
2062
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
2063
|
+
*/
|
|
1504
2064
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1505
|
-
/**
|
|
2065
|
+
/**
|
|
2066
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
2067
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
2068
|
+
*/
|
|
1506
2069
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2070
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
2071
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2072
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
2073
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1507
2074
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1508
2075
|
/** Twilio Account SID (`AC…`). */
|
|
1509
2076
|
accountSid: z.ZodString;
|
|
@@ -1515,10 +2082,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1515
2082
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1516
2083
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1517
2084
|
streamPublicUrl: z.ZodString;
|
|
1518
|
-
/**
|
|
2085
|
+
/**
|
|
2086
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
2087
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
2088
|
+
*/
|
|
1519
2089
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1520
|
-
/**
|
|
2090
|
+
/**
|
|
2091
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
2092
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
2093
|
+
*/
|
|
1521
2094
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2095
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
2096
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2097
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
2098
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1522
2099
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1523
2100
|
/** Vonage Voice + WebSocket-media binding. */
|
|
1524
2101
|
vonage: z.ZodOptional<z.ZodObject<{
|
|
@@ -1534,8 +2111,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1534
2111
|
mediaPublicUrl: z.ZodString;
|
|
1535
2112
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1536
2113
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1537
|
-
/**
|
|
2114
|
+
/**
|
|
2115
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
2116
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
2117
|
+
* unanswered / failed / completed.
|
|
2118
|
+
*/
|
|
1538
2119
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
2120
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
2121
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1539
2122
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1540
2123
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1541
2124
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1549,8 +2132,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1549
2132
|
mediaPublicUrl: z.ZodString;
|
|
1550
2133
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1551
2134
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1552
|
-
/**
|
|
2135
|
+
/**
|
|
2136
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
2137
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
2138
|
+
* unanswered / failed / completed.
|
|
2139
|
+
*/
|
|
1553
2140
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
2141
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
2142
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1554
2143
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1555
2144
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1556
2145
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1564,8 +2153,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1564
2153
|
mediaPublicUrl: z.ZodString;
|
|
1565
2154
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1566
2155
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1567
|
-
/**
|
|
2156
|
+
/**
|
|
2157
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
2158
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
2159
|
+
* unanswered / failed / completed.
|
|
2160
|
+
*/
|
|
1568
2161
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
2162
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
2163
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1569
2164
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1570
2165
|
/** RingCentral Call Control + media-stream binding. */
|
|
1571
2166
|
ringcentral: z.ZodOptional<z.ZodObject<{
|
|
@@ -1614,6 +2209,143 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1614
2209
|
/** Skip TLS cert validation (sandbox/test only — never in production). */
|
|
1615
2210
|
ignoreTlsCertErrors: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1616
2211
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2212
|
+
/** LiveKit SIP binding: phone calls carried by a SIP trunk, landed in a LiveKit room. */
|
|
2213
|
+
livekitSip: z.ZodOptional<z.ZodObject<{
|
|
2214
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
2215
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
2216
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
2217
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
2218
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
2219
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
2220
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
2221
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
2222
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
2223
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2224
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
2225
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2226
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
2227
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2228
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
2229
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
2230
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
2231
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2232
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
2233
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2234
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
2235
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
2236
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
2237
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
2238
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
2239
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
2240
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
2241
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
2242
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
2243
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
2244
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2245
|
+
}, "strip", z.ZodTypeAny, {
|
|
2246
|
+
type?: "twilio-elastic-sip";
|
|
2247
|
+
numbers?: string[];
|
|
2248
|
+
originationUri?: string;
|
|
2249
|
+
terminationUri?: string;
|
|
2250
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2251
|
+
}, {
|
|
2252
|
+
type?: "twilio-elastic-sip";
|
|
2253
|
+
numbers?: string[];
|
|
2254
|
+
originationUri?: string;
|
|
2255
|
+
terminationUri?: string;
|
|
2256
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2257
|
+
}>>;
|
|
2258
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2259
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
2260
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
2261
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
2262
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
2263
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
2264
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
2265
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
2266
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
2267
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
2268
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2269
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
2270
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2271
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
2272
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2273
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
2274
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
2275
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
2276
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2277
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
2278
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2279
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
2280
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
2281
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
2282
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
2283
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
2284
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
2285
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
2286
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
2287
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
2288
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
2289
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2290
|
+
}, "strip", z.ZodTypeAny, {
|
|
2291
|
+
type?: "twilio-elastic-sip";
|
|
2292
|
+
numbers?: string[];
|
|
2293
|
+
originationUri?: string;
|
|
2294
|
+
terminationUri?: string;
|
|
2295
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2296
|
+
}, {
|
|
2297
|
+
type?: "twilio-elastic-sip";
|
|
2298
|
+
numbers?: string[];
|
|
2299
|
+
originationUri?: string;
|
|
2300
|
+
terminationUri?: string;
|
|
2301
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2302
|
+
}>>;
|
|
2303
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2304
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
2305
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
2306
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
2307
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
2308
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
2309
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
2310
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
2311
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
2312
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
2313
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2314
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
2315
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2316
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
2317
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2318
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
2319
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
2320
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
2321
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2322
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
2323
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2324
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
2325
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
2326
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
2327
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
2328
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
2329
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
2330
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
2331
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
2332
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
2333
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
2334
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2335
|
+
}, "strip", z.ZodTypeAny, {
|
|
2336
|
+
type?: "twilio-elastic-sip";
|
|
2337
|
+
numbers?: string[];
|
|
2338
|
+
originationUri?: string;
|
|
2339
|
+
terminationUri?: string;
|
|
2340
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2341
|
+
}, {
|
|
2342
|
+
type?: "twilio-elastic-sip";
|
|
2343
|
+
numbers?: string[];
|
|
2344
|
+
originationUri?: string;
|
|
2345
|
+
terminationUri?: string;
|
|
2346
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2347
|
+
}>>;
|
|
2348
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1617
2349
|
/** Microsoft Teams meetings (Graph cloud-communications + ACS application-hosted media) binding. */
|
|
1618
2350
|
teams: z.ZodOptional<z.ZodObject<{
|
|
1619
2351
|
/** Master switch for the Teams meetings ingress. */
|
|
@@ -1664,6 +2396,92 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1664
2396
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1665
2397
|
/** Master switch. When false (or when no vendor block is present), telephony routes are not mounted. */
|
|
1666
2398
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
2399
|
+
/**
|
|
2400
|
+
* Email of the user INBOUND calls run as. A caller is an anonymous member of the public, so the call needs a
|
|
2401
|
+
* principal to create its agent session and run the agent. Point this at a DEDICATED LEAST-PRIVILEGE user.
|
|
2402
|
+
* There is deliberately no fallback: if unset, unknown, inactive, or the system user, inbound calls are
|
|
2403
|
+
* rejected with a polite message and the rejection is logged. Applies to Twilio, Vonage and RingCentral.
|
|
2404
|
+
*/
|
|
2405
|
+
inboundRunAsUserEmail: z.ZodOptional<z.ZodString>;
|
|
2406
|
+
/** Maximum length of one phone call, in seconds. The bridge session is stopped (and the call hung up) at the cap. Defaults to 1800. */
|
|
2407
|
+
maxCallSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2408
|
+
/**
|
|
2409
|
+
* Most phone calls (every carrier together, both directions) the server carries at once. Past it an inbound
|
|
2410
|
+
* caller hears "all agents are busy" and an outbound request is refused. Keep it at or below the realtime
|
|
2411
|
+
* model plan's concurrent-session limit. Defaults to 25.
|
|
2412
|
+
*/
|
|
2413
|
+
maxConcurrentCalls: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2414
|
+
/** Outbound destination policy + per-user rate limit (see {@link outboundTelephonySchema}). */
|
|
2415
|
+
outbound: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
2416
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
2417
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
2418
|
+
/**
|
|
2419
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
2420
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
2421
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
2422
|
+
* Setting this REPLACES that list.
|
|
2423
|
+
*/
|
|
2424
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2425
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
2426
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2427
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2428
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
2429
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
2430
|
+
/**
|
|
2431
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
2432
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
2433
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
2434
|
+
* Setting this REPLACES that list.
|
|
2435
|
+
*/
|
|
2436
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2437
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
2438
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2439
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2440
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
2441
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
2442
|
+
/**
|
|
2443
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
2444
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
2445
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
2446
|
+
* Setting this REPLACES that list.
|
|
2447
|
+
*/
|
|
2448
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2449
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
2450
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
2451
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
2452
|
+
/**
|
|
2453
|
+
* The places the agent may hand a live call to, by name (the agent names a target, never a number, an email or an agent
|
|
2454
|
+
* id). `kind` is `number` (the default; a phone number), `user` (a person at an Explorer console, who may accept or
|
|
2455
|
+
* decline; `userEmail`, optional `fallbackNumber` the room dials if they do not take it) or `agent` (another MJ AI agent,
|
|
2456
|
+
* by `agentName`). `user` and `agent` targets work on calls that live in a LiveKit room; a carrier call can only transfer to
|
|
2457
|
+
* a `number`. Every number is validated at startup against the outbound allow/block lists; an invalid entry is dropped
|
|
2458
|
+
* and logged. Empty (the default) means the agent cannot hand calls over at all.
|
|
2459
|
+
*/
|
|
2460
|
+
transferTargets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2461
|
+
name: z.ZodString;
|
|
2462
|
+
kind: z.ZodOptional<z.ZodEnum<["number", "user", "agent"]>>;
|
|
2463
|
+
number: z.ZodOptional<z.ZodString>;
|
|
2464
|
+
userEmail: z.ZodOptional<z.ZodString>;
|
|
2465
|
+
fallbackNumber: z.ZodOptional<z.ZodString>;
|
|
2466
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
2467
|
+
description: z.ZodOptional<z.ZodString>;
|
|
2468
|
+
}, "strip", z.ZodTypeAny, {
|
|
2469
|
+
number?: string;
|
|
2470
|
+
name?: string;
|
|
2471
|
+
kind?: "number" | "user" | "agent";
|
|
2472
|
+
userEmail?: string;
|
|
2473
|
+
fallbackNumber?: string;
|
|
2474
|
+
agentName?: string;
|
|
2475
|
+
description?: string;
|
|
2476
|
+
}, {
|
|
2477
|
+
number?: string;
|
|
2478
|
+
name?: string;
|
|
2479
|
+
kind?: "number" | "user" | "agent";
|
|
2480
|
+
userEmail?: string;
|
|
2481
|
+
fallbackNumber?: string;
|
|
2482
|
+
agentName?: string;
|
|
2483
|
+
description?: string;
|
|
2484
|
+
}>, "many">>>;
|
|
1667
2485
|
/** Twilio Programmable Voice + Media Streams binding. */
|
|
1668
2486
|
twilio: z.ZodOptional<z.ZodObject<{
|
|
1669
2487
|
/** Twilio Account SID (`AC…`). */
|
|
@@ -1676,10 +2494,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1676
2494
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1677
2495
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1678
2496
|
streamPublicUrl: z.ZodString;
|
|
1679
|
-
/**
|
|
2497
|
+
/**
|
|
2498
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
2499
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
2500
|
+
*/
|
|
1680
2501
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1681
|
-
/**
|
|
2502
|
+
/**
|
|
2503
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
2504
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
2505
|
+
*/
|
|
1682
2506
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2507
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
2508
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2509
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
2510
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1683
2511
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1684
2512
|
/** Twilio Account SID (`AC…`). */
|
|
1685
2513
|
accountSid: z.ZodString;
|
|
@@ -1691,10 +2519,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1691
2519
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1692
2520
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1693
2521
|
streamPublicUrl: z.ZodString;
|
|
1694
|
-
/**
|
|
2522
|
+
/**
|
|
2523
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
2524
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
2525
|
+
*/
|
|
1695
2526
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1696
|
-
/**
|
|
2527
|
+
/**
|
|
2528
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
2529
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
2530
|
+
*/
|
|
1697
2531
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2532
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
2533
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2534
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
2535
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1698
2536
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1699
2537
|
/** Twilio Account SID (`AC…`). */
|
|
1700
2538
|
accountSid: z.ZodString;
|
|
@@ -1706,10 +2544,20 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1706
2544
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
1707
2545
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
1708
2546
|
streamPublicUrl: z.ZodString;
|
|
1709
|
-
/**
|
|
2547
|
+
/**
|
|
2548
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
2549
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
2550
|
+
*/
|
|
1710
2551
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
1711
|
-
/**
|
|
2552
|
+
/**
|
|
2553
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
2554
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
2555
|
+
*/
|
|
1712
2556
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2557
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
2558
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
2559
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
2560
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1713
2561
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1714
2562
|
/** Vonage Voice + WebSocket-media binding. */
|
|
1715
2563
|
vonage: z.ZodOptional<z.ZodObject<{
|
|
@@ -1725,8 +2573,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1725
2573
|
mediaPublicUrl: z.ZodString;
|
|
1726
2574
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1727
2575
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1728
|
-
/**
|
|
2576
|
+
/**
|
|
2577
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
2578
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
2579
|
+
* unanswered / failed / completed.
|
|
2580
|
+
*/
|
|
1729
2581
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
2582
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
2583
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1730
2584
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1731
2585
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1732
2586
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1740,8 +2594,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1740
2594
|
mediaPublicUrl: z.ZodString;
|
|
1741
2595
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1742
2596
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1743
|
-
/**
|
|
2597
|
+
/**
|
|
2598
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
2599
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
2600
|
+
* unanswered / failed / completed.
|
|
2601
|
+
*/
|
|
1744
2602
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
2603
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
2604
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1745
2605
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1746
2606
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
1747
2607
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -1755,8 +2615,14 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1755
2615
|
mediaPublicUrl: z.ZodString;
|
|
1756
2616
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
1757
2617
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
1758
|
-
/**
|
|
2618
|
+
/**
|
|
2619
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
2620
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
2621
|
+
* unanswered / failed / completed.
|
|
2622
|
+
*/
|
|
1759
2623
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
2624
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
2625
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
1760
2626
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1761
2627
|
/** RingCentral Call Control + media-stream binding. */
|
|
1762
2628
|
ringcentral: z.ZodOptional<z.ZodObject<{
|
|
@@ -1805,6 +2671,143 @@ declare const telephonySchema: z.ZodObject<{
|
|
|
1805
2671
|
/** Skip TLS cert validation (sandbox/test only — never in production). */
|
|
1806
2672
|
ignoreTlsCertErrors: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
1807
2673
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2674
|
+
/** LiveKit SIP binding: phone calls carried by a SIP trunk, landed in a LiveKit room. */
|
|
2675
|
+
livekitSip: z.ZodOptional<z.ZodObject<{
|
|
2676
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
2677
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
2678
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
2679
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
2680
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
2681
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
2682
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
2683
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
2684
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
2685
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2686
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
2687
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2688
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
2689
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2690
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
2691
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
2692
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
2693
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2694
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
2695
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2696
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
2697
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
2698
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
2699
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
2700
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
2701
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
2702
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
2703
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
2704
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
2705
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
2706
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2707
|
+
}, "strip", z.ZodTypeAny, {
|
|
2708
|
+
type?: "twilio-elastic-sip";
|
|
2709
|
+
numbers?: string[];
|
|
2710
|
+
originationUri?: string;
|
|
2711
|
+
terminationUri?: string;
|
|
2712
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2713
|
+
}, {
|
|
2714
|
+
type?: "twilio-elastic-sip";
|
|
2715
|
+
numbers?: string[];
|
|
2716
|
+
originationUri?: string;
|
|
2717
|
+
terminationUri?: string;
|
|
2718
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2719
|
+
}>>;
|
|
2720
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2721
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
2722
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
2723
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
2724
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
2725
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
2726
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
2727
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
2728
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
2729
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
2730
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2731
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
2732
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2733
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
2734
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2735
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
2736
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
2737
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
2738
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2739
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
2740
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2741
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
2742
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
2743
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
2744
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
2745
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
2746
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
2747
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
2748
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
2749
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
2750
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
2751
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2752
|
+
}, "strip", z.ZodTypeAny, {
|
|
2753
|
+
type?: "twilio-elastic-sip";
|
|
2754
|
+
numbers?: string[];
|
|
2755
|
+
originationUri?: string;
|
|
2756
|
+
terminationUri?: string;
|
|
2757
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2758
|
+
}, {
|
|
2759
|
+
type?: "twilio-elastic-sip";
|
|
2760
|
+
numbers?: string[];
|
|
2761
|
+
originationUri?: string;
|
|
2762
|
+
terminationUri?: string;
|
|
2763
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2764
|
+
}>>;
|
|
2765
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2766
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
2767
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
2768
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
2769
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
2770
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
2771
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
2772
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
2773
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
2774
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
2775
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2776
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
2777
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2778
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
2779
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
2780
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
2781
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
2782
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
2783
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2784
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
2785
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2786
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
2787
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
2788
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
2789
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
2790
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
2791
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
2792
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
2793
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
2794
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
2795
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
2796
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2797
|
+
}, "strip", z.ZodTypeAny, {
|
|
2798
|
+
type?: "twilio-elastic-sip";
|
|
2799
|
+
numbers?: string[];
|
|
2800
|
+
originationUri?: string;
|
|
2801
|
+
terminationUri?: string;
|
|
2802
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2803
|
+
}, {
|
|
2804
|
+
type?: "twilio-elastic-sip";
|
|
2805
|
+
numbers?: string[];
|
|
2806
|
+
originationUri?: string;
|
|
2807
|
+
terminationUri?: string;
|
|
2808
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
2809
|
+
}>>;
|
|
2810
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1808
2811
|
/** Microsoft Teams meetings (Graph cloud-communications + ACS application-hosted media) binding. */
|
|
1809
2812
|
teams: z.ZodOptional<z.ZodObject<{
|
|
1810
2813
|
/** Master switch for the Teams meetings ingress. */
|
|
@@ -2268,6 +3271,92 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2268
3271
|
telephony: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
2269
3272
|
/** Master switch. When false (or when no vendor block is present), telephony routes are not mounted. */
|
|
2270
3273
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3274
|
+
/**
|
|
3275
|
+
* Email of the user INBOUND calls run as. A caller is an anonymous member of the public, so the call needs a
|
|
3276
|
+
* principal to create its agent session and run the agent. Point this at a DEDICATED LEAST-PRIVILEGE user.
|
|
3277
|
+
* There is deliberately no fallback: if unset, unknown, inactive, or the system user, inbound calls are
|
|
3278
|
+
* rejected with a polite message and the rejection is logged. Applies to Twilio, Vonage and RingCentral.
|
|
3279
|
+
*/
|
|
3280
|
+
inboundRunAsUserEmail: z.ZodOptional<z.ZodString>;
|
|
3281
|
+
/** Maximum length of one phone call, in seconds. The bridge session is stopped (and the call hung up) at the cap. Defaults to 1800. */
|
|
3282
|
+
maxCallSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3283
|
+
/**
|
|
3284
|
+
* Most phone calls (every carrier together, both directions) the server carries at once. Past it an inbound
|
|
3285
|
+
* caller hears "all agents are busy" and an outbound request is refused. Keep it at or below the realtime
|
|
3286
|
+
* model plan's concurrent-session limit. Defaults to 25.
|
|
3287
|
+
*/
|
|
3288
|
+
maxConcurrentCalls: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3289
|
+
/** Outbound destination policy + per-user rate limit (see {@link outboundTelephonySchema}). */
|
|
3290
|
+
outbound: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3291
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
3292
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
3293
|
+
/**
|
|
3294
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
3295
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
3296
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
3297
|
+
* Setting this REPLACES that list.
|
|
3298
|
+
*/
|
|
3299
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3300
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
3301
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3302
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3303
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
3304
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
3305
|
+
/**
|
|
3306
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
3307
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
3308
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
3309
|
+
* Setting this REPLACES that list.
|
|
3310
|
+
*/
|
|
3311
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3312
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
3313
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3314
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
3315
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
3316
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
3317
|
+
/**
|
|
3318
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
3319
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
3320
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
3321
|
+
* Setting this REPLACES that list.
|
|
3322
|
+
*/
|
|
3323
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3324
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
3325
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3326
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
3327
|
+
/**
|
|
3328
|
+
* The places the agent may hand a live call to, by name (the agent names a target, never a number, an email or an agent
|
|
3329
|
+
* id). `kind` is `number` (the default; a phone number), `user` (a person at an Explorer console, who may accept or
|
|
3330
|
+
* decline; `userEmail`, optional `fallbackNumber` the room dials if they do not take it) or `agent` (another MJ AI agent,
|
|
3331
|
+
* by `agentName`). `user` and `agent` targets work on calls that live in a LiveKit room; a carrier call can only transfer to
|
|
3332
|
+
* a `number`. Every number is validated at startup against the outbound allow/block lists; an invalid entry is dropped
|
|
3333
|
+
* and logged. Empty (the default) means the agent cannot hand calls over at all.
|
|
3334
|
+
*/
|
|
3335
|
+
transferTargets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3336
|
+
name: z.ZodString;
|
|
3337
|
+
kind: z.ZodOptional<z.ZodEnum<["number", "user", "agent"]>>;
|
|
3338
|
+
number: z.ZodOptional<z.ZodString>;
|
|
3339
|
+
userEmail: z.ZodOptional<z.ZodString>;
|
|
3340
|
+
fallbackNumber: z.ZodOptional<z.ZodString>;
|
|
3341
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
3342
|
+
description: z.ZodOptional<z.ZodString>;
|
|
3343
|
+
}, "strip", z.ZodTypeAny, {
|
|
3344
|
+
number?: string;
|
|
3345
|
+
name?: string;
|
|
3346
|
+
kind?: "number" | "user" | "agent";
|
|
3347
|
+
userEmail?: string;
|
|
3348
|
+
fallbackNumber?: string;
|
|
3349
|
+
agentName?: string;
|
|
3350
|
+
description?: string;
|
|
3351
|
+
}, {
|
|
3352
|
+
number?: string;
|
|
3353
|
+
name?: string;
|
|
3354
|
+
kind?: "number" | "user" | "agent";
|
|
3355
|
+
userEmail?: string;
|
|
3356
|
+
fallbackNumber?: string;
|
|
3357
|
+
agentName?: string;
|
|
3358
|
+
description?: string;
|
|
3359
|
+
}>, "many">>>;
|
|
2271
3360
|
/** Twilio Programmable Voice + Media Streams binding. */
|
|
2272
3361
|
twilio: z.ZodOptional<z.ZodObject<{
|
|
2273
3362
|
/** Twilio Account SID (`AC…`). */
|
|
@@ -2280,10 +3369,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2280
3369
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2281
3370
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2282
3371
|
streamPublicUrl: z.ZodString;
|
|
2283
|
-
/**
|
|
3372
|
+
/**
|
|
3373
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
3374
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
3375
|
+
*/
|
|
2284
3376
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2285
|
-
/**
|
|
3377
|
+
/**
|
|
3378
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
3379
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
3380
|
+
*/
|
|
2286
3381
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3382
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
3383
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3384
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
3385
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2287
3386
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2288
3387
|
/** Twilio Account SID (`AC…`). */
|
|
2289
3388
|
accountSid: z.ZodString;
|
|
@@ -2295,10 +3394,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2295
3394
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2296
3395
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2297
3396
|
streamPublicUrl: z.ZodString;
|
|
2298
|
-
/**
|
|
3397
|
+
/**
|
|
3398
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
3399
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
3400
|
+
*/
|
|
2299
3401
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2300
|
-
/**
|
|
3402
|
+
/**
|
|
3403
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
3404
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
3405
|
+
*/
|
|
2301
3406
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3407
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
3408
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3409
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
3410
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2302
3411
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2303
3412
|
/** Twilio Account SID (`AC…`). */
|
|
2304
3413
|
accountSid: z.ZodString;
|
|
@@ -2310,10 +3419,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2310
3419
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2311
3420
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2312
3421
|
streamPublicUrl: z.ZodString;
|
|
2313
|
-
/**
|
|
3422
|
+
/**
|
|
3423
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
3424
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
3425
|
+
*/
|
|
2314
3426
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2315
|
-
/**
|
|
3427
|
+
/**
|
|
3428
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
3429
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
3430
|
+
*/
|
|
2316
3431
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3432
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
3433
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3434
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
3435
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2317
3436
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2318
3437
|
/** Vonage Voice + WebSocket-media binding. */
|
|
2319
3438
|
vonage: z.ZodOptional<z.ZodObject<{
|
|
@@ -2329,8 +3448,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2329
3448
|
mediaPublicUrl: z.ZodString;
|
|
2330
3449
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2331
3450
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2332
|
-
/**
|
|
3451
|
+
/**
|
|
3452
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
3453
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
3454
|
+
* unanswered / failed / completed.
|
|
3455
|
+
*/
|
|
2333
3456
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
3457
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
3458
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2334
3459
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2335
3460
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
2336
3461
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2344,8 +3469,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2344
3469
|
mediaPublicUrl: z.ZodString;
|
|
2345
3470
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2346
3471
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2347
|
-
/**
|
|
3472
|
+
/**
|
|
3473
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
3474
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
3475
|
+
* unanswered / failed / completed.
|
|
3476
|
+
*/
|
|
2348
3477
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
3478
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
3479
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2349
3480
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2350
3481
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
2351
3482
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2359,8 +3490,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2359
3490
|
mediaPublicUrl: z.ZodString;
|
|
2360
3491
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2361
3492
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2362
|
-
/**
|
|
3493
|
+
/**
|
|
3494
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
3495
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
3496
|
+
* unanswered / failed / completed.
|
|
3497
|
+
*/
|
|
2363
3498
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
3499
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
3500
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2364
3501
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2365
3502
|
/** RingCentral Call Control + media-stream binding. */
|
|
2366
3503
|
ringcentral: z.ZodOptional<z.ZodObject<{
|
|
@@ -2409,6 +3546,143 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2409
3546
|
/** Skip TLS cert validation (sandbox/test only — never in production). */
|
|
2410
3547
|
ignoreTlsCertErrors: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2411
3548
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
3549
|
+
/** LiveKit SIP binding: phone calls carried by a SIP trunk, landed in a LiveKit room. */
|
|
3550
|
+
livekitSip: z.ZodOptional<z.ZodObject<{
|
|
3551
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
3552
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
3553
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
3554
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
3555
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
3556
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
3557
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
3558
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
3559
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
3560
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3561
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
3562
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
3563
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
3564
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
3565
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
3566
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
3567
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
3568
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
3569
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
3570
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3571
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
3572
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
3573
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
3574
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
3575
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
3576
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
3577
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
3578
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
3579
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
3580
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
3581
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3582
|
+
}, "strip", z.ZodTypeAny, {
|
|
3583
|
+
type?: "twilio-elastic-sip";
|
|
3584
|
+
numbers?: string[];
|
|
3585
|
+
originationUri?: string;
|
|
3586
|
+
terminationUri?: string;
|
|
3587
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
3588
|
+
}, {
|
|
3589
|
+
type?: "twilio-elastic-sip";
|
|
3590
|
+
numbers?: string[];
|
|
3591
|
+
originationUri?: string;
|
|
3592
|
+
terminationUri?: string;
|
|
3593
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
3594
|
+
}>>;
|
|
3595
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3596
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
3597
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
3598
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
3599
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
3600
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
3601
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
3602
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
3603
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
3604
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
3605
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3606
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
3607
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
3608
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
3609
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
3610
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
3611
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
3612
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
3613
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
3614
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
3615
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3616
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
3617
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
3618
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
3619
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
3620
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
3621
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
3622
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
3623
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
3624
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
3625
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
3626
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3627
|
+
}, "strip", z.ZodTypeAny, {
|
|
3628
|
+
type?: "twilio-elastic-sip";
|
|
3629
|
+
numbers?: string[];
|
|
3630
|
+
originationUri?: string;
|
|
3631
|
+
terminationUri?: string;
|
|
3632
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
3633
|
+
}, {
|
|
3634
|
+
type?: "twilio-elastic-sip";
|
|
3635
|
+
numbers?: string[];
|
|
3636
|
+
originationUri?: string;
|
|
3637
|
+
terminationUri?: string;
|
|
3638
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
3639
|
+
}>>;
|
|
3640
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
3641
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
3642
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
3643
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
3644
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
3645
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
3646
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
3647
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
3648
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
3649
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
3650
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3651
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
3652
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
3653
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
3654
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
3655
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
3656
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
3657
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
3658
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
3659
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
3660
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3661
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
3662
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
3663
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
3664
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
3665
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
3666
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
3667
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
3668
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
3669
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
3670
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
3671
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3672
|
+
}, "strip", z.ZodTypeAny, {
|
|
3673
|
+
type?: "twilio-elastic-sip";
|
|
3674
|
+
numbers?: string[];
|
|
3675
|
+
originationUri?: string;
|
|
3676
|
+
terminationUri?: string;
|
|
3677
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
3678
|
+
}, {
|
|
3679
|
+
type?: "twilio-elastic-sip";
|
|
3680
|
+
numbers?: string[];
|
|
3681
|
+
originationUri?: string;
|
|
3682
|
+
terminationUri?: string;
|
|
3683
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
3684
|
+
}>>;
|
|
3685
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
2412
3686
|
/** Microsoft Teams meetings (Graph cloud-communications + ACS application-hosted media) binding. */
|
|
2413
3687
|
teams: z.ZodOptional<z.ZodObject<{
|
|
2414
3688
|
/** Master switch for the Teams meetings ingress. */
|
|
@@ -2459,6 +3733,92 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2459
3733
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2460
3734
|
/** Master switch. When false (or when no vendor block is present), telephony routes are not mounted. */
|
|
2461
3735
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3736
|
+
/**
|
|
3737
|
+
* Email of the user INBOUND calls run as. A caller is an anonymous member of the public, so the call needs a
|
|
3738
|
+
* principal to create its agent session and run the agent. Point this at a DEDICATED LEAST-PRIVILEGE user.
|
|
3739
|
+
* There is deliberately no fallback: if unset, unknown, inactive, or the system user, inbound calls are
|
|
3740
|
+
* rejected with a polite message and the rejection is logged. Applies to Twilio, Vonage and RingCentral.
|
|
3741
|
+
*/
|
|
3742
|
+
inboundRunAsUserEmail: z.ZodOptional<z.ZodString>;
|
|
3743
|
+
/** Maximum length of one phone call, in seconds. The bridge session is stopped (and the call hung up) at the cap. Defaults to 1800. */
|
|
3744
|
+
maxCallSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3745
|
+
/**
|
|
3746
|
+
* Most phone calls (every carrier together, both directions) the server carries at once. Past it an inbound
|
|
3747
|
+
* caller hears "all agents are busy" and an outbound request is refused. Keep it at or below the realtime
|
|
3748
|
+
* model plan's concurrent-session limit. Defaults to 25.
|
|
3749
|
+
*/
|
|
3750
|
+
maxConcurrentCalls: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3751
|
+
/** Outbound destination policy + per-user rate limit (see {@link outboundTelephonySchema}). */
|
|
3752
|
+
outbound: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3753
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
3754
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
3755
|
+
/**
|
|
3756
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
3757
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
3758
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
3759
|
+
* Setting this REPLACES that list.
|
|
3760
|
+
*/
|
|
3761
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3762
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
3763
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3764
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
3765
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
3766
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
3767
|
+
/**
|
|
3768
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
3769
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
3770
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
3771
|
+
* Setting this REPLACES that list.
|
|
3772
|
+
*/
|
|
3773
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3774
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
3775
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3776
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
3777
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
3778
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
3779
|
+
/**
|
|
3780
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
3781
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
3782
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
3783
|
+
* Setting this REPLACES that list.
|
|
3784
|
+
*/
|
|
3785
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
3786
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
3787
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
3788
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
3789
|
+
/**
|
|
3790
|
+
* The places the agent may hand a live call to, by name (the agent names a target, never a number, an email or an agent
|
|
3791
|
+
* id). `kind` is `number` (the default; a phone number), `user` (a person at an Explorer console, who may accept or
|
|
3792
|
+
* decline; `userEmail`, optional `fallbackNumber` the room dials if they do not take it) or `agent` (another MJ AI agent,
|
|
3793
|
+
* by `agentName`). `user` and `agent` targets work on calls that live in a LiveKit room; a carrier call can only transfer to
|
|
3794
|
+
* a `number`. Every number is validated at startup against the outbound allow/block lists; an invalid entry is dropped
|
|
3795
|
+
* and logged. Empty (the default) means the agent cannot hand calls over at all.
|
|
3796
|
+
*/
|
|
3797
|
+
transferTargets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3798
|
+
name: z.ZodString;
|
|
3799
|
+
kind: z.ZodOptional<z.ZodEnum<["number", "user", "agent"]>>;
|
|
3800
|
+
number: z.ZodOptional<z.ZodString>;
|
|
3801
|
+
userEmail: z.ZodOptional<z.ZodString>;
|
|
3802
|
+
fallbackNumber: z.ZodOptional<z.ZodString>;
|
|
3803
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
3804
|
+
description: z.ZodOptional<z.ZodString>;
|
|
3805
|
+
}, "strip", z.ZodTypeAny, {
|
|
3806
|
+
number?: string;
|
|
3807
|
+
name?: string;
|
|
3808
|
+
kind?: "number" | "user" | "agent";
|
|
3809
|
+
userEmail?: string;
|
|
3810
|
+
fallbackNumber?: string;
|
|
3811
|
+
agentName?: string;
|
|
3812
|
+
description?: string;
|
|
3813
|
+
}, {
|
|
3814
|
+
number?: string;
|
|
3815
|
+
name?: string;
|
|
3816
|
+
kind?: "number" | "user" | "agent";
|
|
3817
|
+
userEmail?: string;
|
|
3818
|
+
fallbackNumber?: string;
|
|
3819
|
+
agentName?: string;
|
|
3820
|
+
description?: string;
|
|
3821
|
+
}>, "many">>>;
|
|
2462
3822
|
/** Twilio Programmable Voice + Media Streams binding. */
|
|
2463
3823
|
twilio: z.ZodOptional<z.ZodObject<{
|
|
2464
3824
|
/** Twilio Account SID (`AC…`). */
|
|
@@ -2471,10 +3831,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2471
3831
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2472
3832
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2473
3833
|
streamPublicUrl: z.ZodString;
|
|
2474
|
-
/**
|
|
3834
|
+
/**
|
|
3835
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
3836
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
3837
|
+
*/
|
|
2475
3838
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2476
|
-
/**
|
|
3839
|
+
/**
|
|
3840
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
3841
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
3842
|
+
*/
|
|
2477
3843
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3844
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
3845
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3846
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
3847
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2478
3848
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2479
3849
|
/** Twilio Account SID (`AC…`). */
|
|
2480
3850
|
accountSid: z.ZodString;
|
|
@@ -2486,10 +3856,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2486
3856
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2487
3857
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2488
3858
|
streamPublicUrl: z.ZodString;
|
|
2489
|
-
/**
|
|
3859
|
+
/**
|
|
3860
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
3861
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
3862
|
+
*/
|
|
2490
3863
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2491
|
-
/**
|
|
3864
|
+
/**
|
|
3865
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
3866
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
3867
|
+
*/
|
|
2492
3868
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3869
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
3870
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3871
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
3872
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2493
3873
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2494
3874
|
/** Twilio Account SID (`AC…`). */
|
|
2495
3875
|
accountSid: z.ZodString;
|
|
@@ -2501,10 +3881,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2501
3881
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2502
3882
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2503
3883
|
streamPublicUrl: z.ZodString;
|
|
2504
|
-
/**
|
|
3884
|
+
/**
|
|
3885
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
3886
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
3887
|
+
*/
|
|
2505
3888
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2506
|
-
/**
|
|
3889
|
+
/**
|
|
3890
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
3891
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
3892
|
+
*/
|
|
2507
3893
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3894
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
3895
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
3896
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
3897
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2508
3898
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2509
3899
|
/** Vonage Voice + WebSocket-media binding. */
|
|
2510
3900
|
vonage: z.ZodOptional<z.ZodObject<{
|
|
@@ -2520,8 +3910,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2520
3910
|
mediaPublicUrl: z.ZodString;
|
|
2521
3911
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2522
3912
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2523
|
-
/**
|
|
3913
|
+
/**
|
|
3914
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
3915
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
3916
|
+
* unanswered / failed / completed.
|
|
3917
|
+
*/
|
|
2524
3918
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
3919
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
3920
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2525
3921
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2526
3922
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
2527
3923
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2535,8 +3931,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2535
3931
|
mediaPublicUrl: z.ZodString;
|
|
2536
3932
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2537
3933
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2538
|
-
/**
|
|
3934
|
+
/**
|
|
3935
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
3936
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
3937
|
+
* unanswered / failed / completed.
|
|
3938
|
+
*/
|
|
2539
3939
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
3940
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
3941
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2540
3942
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2541
3943
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
2542
3944
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2550,8 +3952,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2550
3952
|
mediaPublicUrl: z.ZodString;
|
|
2551
3953
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2552
3954
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2553
|
-
/**
|
|
3955
|
+
/**
|
|
3956
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
3957
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
3958
|
+
* unanswered / failed / completed.
|
|
3959
|
+
*/
|
|
2554
3960
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
3961
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
3962
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2555
3963
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2556
3964
|
/** RingCentral Call Control + media-stream binding. */
|
|
2557
3965
|
ringcentral: z.ZodOptional<z.ZodObject<{
|
|
@@ -2600,6 +4008,143 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2600
4008
|
/** Skip TLS cert validation (sandbox/test only — never in production). */
|
|
2601
4009
|
ignoreTlsCertErrors: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2602
4010
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
4011
|
+
/** LiveKit SIP binding: phone calls carried by a SIP trunk, landed in a LiveKit room. */
|
|
4012
|
+
livekitSip: z.ZodOptional<z.ZodObject<{
|
|
4013
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
4014
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
4015
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
4016
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
4017
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
4018
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
4019
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
4020
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
4021
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
4022
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4023
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
4024
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4025
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
4026
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4027
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
4028
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
4029
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
4030
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
4031
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
4032
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4033
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
4034
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
4035
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
4036
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
4037
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
4038
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
4039
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
4040
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
4041
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
4042
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
4043
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4044
|
+
}, "strip", z.ZodTypeAny, {
|
|
4045
|
+
type?: "twilio-elastic-sip";
|
|
4046
|
+
numbers?: string[];
|
|
4047
|
+
originationUri?: string;
|
|
4048
|
+
terminationUri?: string;
|
|
4049
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4050
|
+
}, {
|
|
4051
|
+
type?: "twilio-elastic-sip";
|
|
4052
|
+
numbers?: string[];
|
|
4053
|
+
originationUri?: string;
|
|
4054
|
+
terminationUri?: string;
|
|
4055
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4056
|
+
}>>;
|
|
4057
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
4058
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
4059
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
4060
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
4061
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
4062
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
4063
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
4064
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
4065
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
4066
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
4067
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4068
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
4069
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4070
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
4071
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4072
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
4073
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
4074
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
4075
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
4076
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
4077
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4078
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
4079
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
4080
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
4081
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
4082
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
4083
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
4084
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
4085
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
4086
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
4087
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
4088
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4089
|
+
}, "strip", z.ZodTypeAny, {
|
|
4090
|
+
type?: "twilio-elastic-sip";
|
|
4091
|
+
numbers?: string[];
|
|
4092
|
+
originationUri?: string;
|
|
4093
|
+
terminationUri?: string;
|
|
4094
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4095
|
+
}, {
|
|
4096
|
+
type?: "twilio-elastic-sip";
|
|
4097
|
+
numbers?: string[];
|
|
4098
|
+
originationUri?: string;
|
|
4099
|
+
terminationUri?: string;
|
|
4100
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4101
|
+
}>>;
|
|
4102
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
4103
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
4104
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
4105
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
4106
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
4107
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
4108
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
4109
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
4110
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
4111
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
4112
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4113
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
4114
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4115
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
4116
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4117
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
4118
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
4119
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
4120
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
4121
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
4122
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4123
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
4124
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
4125
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
4126
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
4127
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
4128
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
4129
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
4130
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
4131
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
4132
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
4133
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4134
|
+
}, "strip", z.ZodTypeAny, {
|
|
4135
|
+
type?: "twilio-elastic-sip";
|
|
4136
|
+
numbers?: string[];
|
|
4137
|
+
originationUri?: string;
|
|
4138
|
+
terminationUri?: string;
|
|
4139
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4140
|
+
}, {
|
|
4141
|
+
type?: "twilio-elastic-sip";
|
|
4142
|
+
numbers?: string[];
|
|
4143
|
+
originationUri?: string;
|
|
4144
|
+
terminationUri?: string;
|
|
4145
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4146
|
+
}>>;
|
|
4147
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
2603
4148
|
/** Microsoft Teams meetings (Graph cloud-communications + ACS application-hosted media) binding. */
|
|
2604
4149
|
teams: z.ZodOptional<z.ZodObject<{
|
|
2605
4150
|
/** Master switch for the Teams meetings ingress. */
|
|
@@ -2650,6 +4195,92 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2650
4195
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2651
4196
|
/** Master switch. When false (or when no vendor block is present), telephony routes are not mounted. */
|
|
2652
4197
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
4198
|
+
/**
|
|
4199
|
+
* Email of the user INBOUND calls run as. A caller is an anonymous member of the public, so the call needs a
|
|
4200
|
+
* principal to create its agent session and run the agent. Point this at a DEDICATED LEAST-PRIVILEGE user.
|
|
4201
|
+
* There is deliberately no fallback: if unset, unknown, inactive, or the system user, inbound calls are
|
|
4202
|
+
* rejected with a polite message and the rejection is logged. Applies to Twilio, Vonage and RingCentral.
|
|
4203
|
+
*/
|
|
4204
|
+
inboundRunAsUserEmail: z.ZodOptional<z.ZodString>;
|
|
4205
|
+
/** Maximum length of one phone call, in seconds. The bridge session is stopped (and the call hung up) at the cap. Defaults to 1800. */
|
|
4206
|
+
maxCallSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4207
|
+
/**
|
|
4208
|
+
* Most phone calls (every carrier together, both directions) the server carries at once. Past it an inbound
|
|
4209
|
+
* caller hears "all agents are busy" and an outbound request is refused. Keep it at or below the realtime
|
|
4210
|
+
* model plan's concurrent-session limit. Defaults to 25.
|
|
4211
|
+
*/
|
|
4212
|
+
maxConcurrentCalls: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4213
|
+
/** Outbound destination policy + per-user rate limit (see {@link outboundTelephonySchema}). */
|
|
4214
|
+
outbound: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4215
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
4216
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
4217
|
+
/**
|
|
4218
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
4219
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
4220
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
4221
|
+
* Setting this REPLACES that list.
|
|
4222
|
+
*/
|
|
4223
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4224
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
4225
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4226
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
4227
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
4228
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
4229
|
+
/**
|
|
4230
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
4231
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
4232
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
4233
|
+
* Setting this REPLACES that list.
|
|
4234
|
+
*/
|
|
4235
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4236
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
4237
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4238
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
4239
|
+
/** Destination prefixes a call may go to (E.164, e.g. `+1`). An empty list refuses every destination. Defaults to `['+1']`. */
|
|
4240
|
+
allowedPrefixes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
4241
|
+
/**
|
|
4242
|
+
* Destination prefixes that are always refused, even when an allowed prefix matches. Deliberately has NO default
|
|
4243
|
+
* here: when omitted, `@memberjunction/telephony-adapters` applies its own `DEFAULT_BLOCKED_PREFIXES` (NANP
|
|
4244
|
+
* premium-rate plus the Caribbean +1 countries abused for toll fraud), so the list lives in exactly one place.
|
|
4245
|
+
* Setting this REPLACES that list.
|
|
4246
|
+
*/
|
|
4247
|
+
blockedPrefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4248
|
+
/** Max outbound calls one user may place per rolling hour (per process). Defaults to 20. */
|
|
4249
|
+
maxCallsPerUserPerHour: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4250
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
4251
|
+
/**
|
|
4252
|
+
* The places the agent may hand a live call to, by name (the agent names a target, never a number, an email or an agent
|
|
4253
|
+
* id). `kind` is `number` (the default; a phone number), `user` (a person at an Explorer console, who may accept or
|
|
4254
|
+
* decline; `userEmail`, optional `fallbackNumber` the room dials if they do not take it) or `agent` (another MJ AI agent,
|
|
4255
|
+
* by `agentName`). `user` and `agent` targets work on calls that live in a LiveKit room; a carrier call can only transfer to
|
|
4256
|
+
* a `number`. Every number is validated at startup against the outbound allow/block lists; an invalid entry is dropped
|
|
4257
|
+
* and logged. Empty (the default) means the agent cannot hand calls over at all.
|
|
4258
|
+
*/
|
|
4259
|
+
transferTargets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
4260
|
+
name: z.ZodString;
|
|
4261
|
+
kind: z.ZodOptional<z.ZodEnum<["number", "user", "agent"]>>;
|
|
4262
|
+
number: z.ZodOptional<z.ZodString>;
|
|
4263
|
+
userEmail: z.ZodOptional<z.ZodString>;
|
|
4264
|
+
fallbackNumber: z.ZodOptional<z.ZodString>;
|
|
4265
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
4266
|
+
description: z.ZodOptional<z.ZodString>;
|
|
4267
|
+
}, "strip", z.ZodTypeAny, {
|
|
4268
|
+
number?: string;
|
|
4269
|
+
name?: string;
|
|
4270
|
+
kind?: "number" | "user" | "agent";
|
|
4271
|
+
userEmail?: string;
|
|
4272
|
+
fallbackNumber?: string;
|
|
4273
|
+
agentName?: string;
|
|
4274
|
+
description?: string;
|
|
4275
|
+
}, {
|
|
4276
|
+
number?: string;
|
|
4277
|
+
name?: string;
|
|
4278
|
+
kind?: "number" | "user" | "agent";
|
|
4279
|
+
userEmail?: string;
|
|
4280
|
+
fallbackNumber?: string;
|
|
4281
|
+
agentName?: string;
|
|
4282
|
+
description?: string;
|
|
4283
|
+
}>, "many">>>;
|
|
2653
4284
|
/** Twilio Programmable Voice + Media Streams binding. */
|
|
2654
4285
|
twilio: z.ZodOptional<z.ZodObject<{
|
|
2655
4286
|
/** Twilio Account SID (`AC…`). */
|
|
@@ -2662,10 +4293,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2662
4293
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2663
4294
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2664
4295
|
streamPublicUrl: z.ZodString;
|
|
2665
|
-
/**
|
|
4296
|
+
/**
|
|
4297
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
4298
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
4299
|
+
*/
|
|
2666
4300
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2667
|
-
/**
|
|
4301
|
+
/**
|
|
4302
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
4303
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
4304
|
+
*/
|
|
2668
4305
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
4306
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
4307
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
4308
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
4309
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2669
4310
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2670
4311
|
/** Twilio Account SID (`AC…`). */
|
|
2671
4312
|
accountSid: z.ZodString;
|
|
@@ -2677,10 +4318,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2677
4318
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2678
4319
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2679
4320
|
streamPublicUrl: z.ZodString;
|
|
2680
|
-
/**
|
|
4321
|
+
/**
|
|
4322
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
4323
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
4324
|
+
*/
|
|
2681
4325
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2682
|
-
/**
|
|
4326
|
+
/**
|
|
4327
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
4328
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
4329
|
+
*/
|
|
2683
4330
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
4331
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
4332
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
4333
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
4334
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2684
4335
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2685
4336
|
/** Twilio Account SID (`AC…`). */
|
|
2686
4337
|
accountSid: z.ZodString;
|
|
@@ -2692,10 +4343,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2692
4343
|
apiKeySecret: z.ZodOptional<z.ZodString>;
|
|
2693
4344
|
/** The publicly reachable `wss://…/telephony/twilio/media` URL Twilio's <Connect><Stream> connects to. */
|
|
2694
4345
|
streamPublicUrl: z.ZodString;
|
|
2695
|
-
/**
|
|
4346
|
+
/**
|
|
4347
|
+
* Reserved; currently unused. The Media-Streams websocket is authenticated by a per-call token MJ mints and
|
|
4348
|
+
* embeds in the TwiML (`<Parameter name="mjToken">`), and webhooks by `X-Twilio-Signature`.
|
|
4349
|
+
*/
|
|
2696
4350
|
webhookSigningSecret: z.ZodOptional<z.ZodString>;
|
|
2697
|
-
/**
|
|
4351
|
+
/**
|
|
4352
|
+
* URL Twilio posts outbound-call lifecycle events to. Defaults to `<public URL>/telephony/twilio/status`, the
|
|
4353
|
+
* route that ends the bridge session when a call is busy / unanswered / failed / completed.
|
|
4354
|
+
*/
|
|
2698
4355
|
statusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
4356
|
+
/** URL Twilio posts the async answering-machine verdict to. Defaults to `<public URL>/telephony/twilio/amd`. */
|
|
4357
|
+
amdStatusCallbackUrl: z.ZodOptional<z.ZodString>;
|
|
4358
|
+
/** What to do when a machine or fax answers an outbound call: `hangup` (default) ends it, `continue` only logs the verdict. */
|
|
4359
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2699
4360
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2700
4361
|
/** Vonage Voice + WebSocket-media binding. */
|
|
2701
4362
|
vonage: z.ZodOptional<z.ZodObject<{
|
|
@@ -2711,8 +4372,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2711
4372
|
mediaPublicUrl: z.ZodString;
|
|
2712
4373
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2713
4374
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2714
|
-
/**
|
|
4375
|
+
/**
|
|
4376
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
4377
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
4378
|
+
* unanswered / failed / completed.
|
|
4379
|
+
*/
|
|
2715
4380
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
4381
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
4382
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2716
4383
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2717
4384
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
2718
4385
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2726,8 +4393,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2726
4393
|
mediaPublicUrl: z.ZodString;
|
|
2727
4394
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2728
4395
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2729
|
-
/**
|
|
4396
|
+
/**
|
|
4397
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
4398
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
4399
|
+
* unanswered / failed / completed.
|
|
4400
|
+
*/
|
|
2730
4401
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
4402
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
4403
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2731
4404
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2732
4405
|
/** Vonage Application ID (UUID) — the JWT-auth identity for the Voice API. */
|
|
2733
4406
|
applicationId: z.ZodOptional<z.ZodString>;
|
|
@@ -2741,8 +4414,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2741
4414
|
mediaPublicUrl: z.ZodString;
|
|
2742
4415
|
/** Vonage account signature secret — HMAC key for signed-request `sig` AND HS256 webhook-JWT verification. */
|
|
2743
4416
|
signatureSecret: z.ZodOptional<z.ZodString>;
|
|
2744
|
-
/**
|
|
4417
|
+
/**
|
|
4418
|
+
* Event-webhook URL Vonage posts call lifecycle events to (passed on outbound createCall). Defaults to
|
|
4419
|
+
* `<public URL>/telephony/vonage/event`, the route that ends the bridge session when a call is busy /
|
|
4420
|
+
* unanswered / failed / completed.
|
|
4421
|
+
*/
|
|
2745
4422
|
eventUrl: z.ZodOptional<z.ZodString>;
|
|
4423
|
+
/** What to do when a machine answers an outbound call — Vonage's `machine_detection`: `hangup` (default) or `continue`. */
|
|
4424
|
+
onMachine: z.ZodOptional<z.ZodEnum<["hangup", "continue"]>>;
|
|
2746
4425
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
2747
4426
|
/** RingCentral Call Control + media-stream binding. */
|
|
2748
4427
|
ringcentral: z.ZodOptional<z.ZodObject<{
|
|
@@ -2791,6 +4470,143 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
2791
4470
|
/** Skip TLS cert validation (sandbox/test only — never in production). */
|
|
2792
4471
|
ignoreTlsCertErrors: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
2793
4472
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
4473
|
+
/** LiveKit SIP binding: phone calls carried by a SIP trunk, landed in a LiveKit room. */
|
|
4474
|
+
livekitSip: z.ZodOptional<z.ZodObject<{
|
|
4475
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
4476
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
4477
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
4478
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
4479
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
4480
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
4481
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
4482
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
4483
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
4484
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4485
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
4486
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4487
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
4488
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4489
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
4490
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
4491
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
4492
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
4493
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
4494
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4495
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
4496
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
4497
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
4498
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
4499
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
4500
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
4501
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
4502
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
4503
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
4504
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
4505
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4506
|
+
}, "strip", z.ZodTypeAny, {
|
|
4507
|
+
type?: "twilio-elastic-sip";
|
|
4508
|
+
numbers?: string[];
|
|
4509
|
+
originationUri?: string;
|
|
4510
|
+
terminationUri?: string;
|
|
4511
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4512
|
+
}, {
|
|
4513
|
+
type?: "twilio-elastic-sip";
|
|
4514
|
+
numbers?: string[];
|
|
4515
|
+
originationUri?: string;
|
|
4516
|
+
terminationUri?: string;
|
|
4517
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4518
|
+
}>>;
|
|
4519
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
4520
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
4521
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
4522
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
4523
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
4524
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
4525
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
4526
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
4527
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
4528
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
4529
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4530
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
4531
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4532
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
4533
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4534
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
4535
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
4536
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
4537
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
4538
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
4539
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4540
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
4541
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
4542
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
4543
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
4544
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
4545
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
4546
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
4547
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
4548
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
4549
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
4550
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4551
|
+
}, "strip", z.ZodTypeAny, {
|
|
4552
|
+
type?: "twilio-elastic-sip";
|
|
4553
|
+
numbers?: string[];
|
|
4554
|
+
originationUri?: string;
|
|
4555
|
+
terminationUri?: string;
|
|
4556
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4557
|
+
}, {
|
|
4558
|
+
type?: "twilio-elastic-sip";
|
|
4559
|
+
numbers?: string[];
|
|
4560
|
+
originationUri?: string;
|
|
4561
|
+
terminationUri?: string;
|
|
4562
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4563
|
+
}>>;
|
|
4564
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
4565
|
+
/** LiveKit server URL (`wss://…`). Defaults to `LIVEKIT_URL`. */
|
|
4566
|
+
serverUrl: z.ZodOptional<z.ZodString>;
|
|
4567
|
+
/** LiveKit API key. Defaults to `LIVEKIT_API_KEY`. */
|
|
4568
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
4569
|
+
/** LiveKit API secret (resolved upstream — never inlined). Defaults to `LIVEKIT_API_SECRET`. */
|
|
4570
|
+
apiSecret: z.ZodOptional<z.ZodString>;
|
|
4571
|
+
/** Inbound calls land in a room whose name starts with this. Defaults to `call-`. */
|
|
4572
|
+
roomPrefix: z.ZodOptional<z.ZodString>;
|
|
4573
|
+
/** The numbers (E.164) this deployment answers. Each routes to the agent identity registered for it (on the LiveKit provider). */
|
|
4574
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4575
|
+
/** The LiveKit inbound trunk id, when created by hand. */
|
|
4576
|
+
inboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4577
|
+
/** The LiveKit OUTBOUND trunk used to dial out (outbound calls, fallback legs, transfers to a number). Dialing out is off without it. */
|
|
4578
|
+
outboundTrunkId: z.ZodOptional<z.ZodString>;
|
|
4579
|
+
/** The caller ID presented on calls dialed out through the outbound trunk. */
|
|
4580
|
+
outboundFromNumber: z.ZodOptional<z.ZodString>;
|
|
4581
|
+
/** Create the inbound trunk and dispatch rule at startup when missing (idempotent). Defaults to false. */
|
|
4582
|
+
autoProvision: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>>;
|
|
4583
|
+
/** Source addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning. */
|
|
4584
|
+
allowedAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4585
|
+
/** The carrier behind the trunk, for configuration checks only (no carrier API is called). */
|
|
4586
|
+
carrier: z.ZodOptional<z.ZodObject<{
|
|
4587
|
+
type: z.ZodLiteral<"twilio-elastic-sip">;
|
|
4588
|
+
/** The LiveKit SIP URI the Twilio trunk's origination URI points at, e.g. `sip:<project>.sip.livekit.cloud`. */
|
|
4589
|
+
originationUri: z.ZodOptional<z.ZodString>;
|
|
4590
|
+
/** The trunk's Termination SIP URI on Twilio (`<name>.pstn.twilio.com`). Needed only when dialing out. */
|
|
4591
|
+
terminationUri: z.ZodOptional<z.ZodString>;
|
|
4592
|
+
/** How Twilio authenticates LiveKit's outbound requests. */
|
|
4593
|
+
terminationAuth: z.ZodOptional<z.ZodEnum<["credential-list", "ip-acl"]>>;
|
|
4594
|
+
/** The Twilio numbers associated with the trunk (E.164). */
|
|
4595
|
+
numbers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4596
|
+
}, "strip", z.ZodTypeAny, {
|
|
4597
|
+
type?: "twilio-elastic-sip";
|
|
4598
|
+
numbers?: string[];
|
|
4599
|
+
originationUri?: string;
|
|
4600
|
+
terminationUri?: string;
|
|
4601
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4602
|
+
}, {
|
|
4603
|
+
type?: "twilio-elastic-sip";
|
|
4604
|
+
numbers?: string[];
|
|
4605
|
+
originationUri?: string;
|
|
4606
|
+
terminationUri?: string;
|
|
4607
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
4608
|
+
}>>;
|
|
4609
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
2794
4610
|
/** Microsoft Teams meetings (Graph cloud-communications + ACS application-hosted media) binding. */
|
|
2795
4611
|
teams: z.ZodOptional<z.ZodObject<{
|
|
2796
4612
|
/** Master switch for the Teams meetings ingress. */
|
|
@@ -3136,6 +4952,78 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3136
4952
|
pollingIntervalMs?: number;
|
|
3137
4953
|
maxConcurrentRuns?: number;
|
|
3138
4954
|
}>>>;
|
|
4955
|
+
workQueue: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
4956
|
+
enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
4957
|
+
systemUserEmail: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
4958
|
+
subscriptions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
4959
|
+
name: z.ZodString;
|
|
4960
|
+
concurrency: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4961
|
+
}, "strip", z.ZodTypeAny, {
|
|
4962
|
+
name?: string;
|
|
4963
|
+
concurrency?: number;
|
|
4964
|
+
}, {
|
|
4965
|
+
name?: string;
|
|
4966
|
+
concurrency?: number;
|
|
4967
|
+
}>, "many">>>;
|
|
4968
|
+
idlePollMinMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4969
|
+
idlePollMaxMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4970
|
+
shutdownDrainMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4971
|
+
sweeperEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
4972
|
+
sweeperIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4973
|
+
reconcileIntervalMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
4974
|
+
}, "strip", z.ZodTypeAny, {
|
|
4975
|
+
enabled?: boolean;
|
|
4976
|
+
systemUserEmail?: string;
|
|
4977
|
+
subscriptions?: {
|
|
4978
|
+
name?: string;
|
|
4979
|
+
concurrency?: number;
|
|
4980
|
+
}[];
|
|
4981
|
+
idlePollMinMs?: number;
|
|
4982
|
+
idlePollMaxMs?: number;
|
|
4983
|
+
shutdownDrainMs?: number;
|
|
4984
|
+
sweeperEnabled?: boolean;
|
|
4985
|
+
sweeperIntervalMs?: number;
|
|
4986
|
+
reconcileIntervalMs?: number;
|
|
4987
|
+
}, {
|
|
4988
|
+
enabled?: boolean;
|
|
4989
|
+
systemUserEmail?: string;
|
|
4990
|
+
subscriptions?: {
|
|
4991
|
+
name?: string;
|
|
4992
|
+
concurrency?: number;
|
|
4993
|
+
}[];
|
|
4994
|
+
idlePollMinMs?: number;
|
|
4995
|
+
idlePollMaxMs?: number;
|
|
4996
|
+
shutdownDrainMs?: number;
|
|
4997
|
+
sweeperEnabled?: boolean;
|
|
4998
|
+
sweeperIntervalMs?: number;
|
|
4999
|
+
reconcileIntervalMs?: number;
|
|
5000
|
+
}>, {
|
|
5001
|
+
enabled?: boolean;
|
|
5002
|
+
systemUserEmail?: string;
|
|
5003
|
+
subscriptions?: {
|
|
5004
|
+
name?: string;
|
|
5005
|
+
concurrency?: number;
|
|
5006
|
+
}[];
|
|
5007
|
+
idlePollMinMs?: number;
|
|
5008
|
+
idlePollMaxMs?: number;
|
|
5009
|
+
shutdownDrainMs?: number;
|
|
5010
|
+
sweeperEnabled?: boolean;
|
|
5011
|
+
sweeperIntervalMs?: number;
|
|
5012
|
+
reconcileIntervalMs?: number;
|
|
5013
|
+
}, {
|
|
5014
|
+
enabled?: boolean;
|
|
5015
|
+
systemUserEmail?: string;
|
|
5016
|
+
subscriptions?: {
|
|
5017
|
+
name?: string;
|
|
5018
|
+
concurrency?: number;
|
|
5019
|
+
}[];
|
|
5020
|
+
idlePollMinMs?: number;
|
|
5021
|
+
idlePollMaxMs?: number;
|
|
5022
|
+
shutdownDrainMs?: number;
|
|
5023
|
+
sweeperEnabled?: boolean;
|
|
5024
|
+
sweeperIntervalMs?: number;
|
|
5025
|
+
reconcileIntervalMs?: number;
|
|
5026
|
+
}>>>;
|
|
3139
5027
|
telemetry: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
3140
5028
|
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
3141
5029
|
level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["minimal", "standard", "verbose", "debug"]>>>;
|
|
@@ -3400,12 +5288,12 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3400
5288
|
maxRequests?: number;
|
|
3401
5289
|
}>>;
|
|
3402
5290
|
}, "strip", z.ZodTypeAny, {
|
|
5291
|
+
enabled?: boolean;
|
|
3403
5292
|
global?: {
|
|
3404
5293
|
message?: string;
|
|
3405
5294
|
windowMs?: number;
|
|
3406
5295
|
maxRequests?: number;
|
|
3407
5296
|
};
|
|
3408
|
-
enabled?: boolean;
|
|
3409
5297
|
graphql?: {
|
|
3410
5298
|
windowMs?: number;
|
|
3411
5299
|
maxRequests?: number;
|
|
@@ -3415,12 +5303,12 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3415
5303
|
maxAttempts?: number;
|
|
3416
5304
|
};
|
|
3417
5305
|
}, {
|
|
5306
|
+
enabled?: boolean;
|
|
3418
5307
|
global?: {
|
|
3419
5308
|
message?: string;
|
|
3420
5309
|
windowMs?: number;
|
|
3421
5310
|
maxRequests?: number;
|
|
3422
5311
|
};
|
|
3423
|
-
enabled?: boolean;
|
|
3424
5312
|
graphql?: {
|
|
3425
5313
|
windowMs?: number;
|
|
3426
5314
|
maxRequests?: number;
|
|
@@ -3521,6 +5409,25 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3521
5409
|
};
|
|
3522
5410
|
telephony?: {
|
|
3523
5411
|
enabled?: boolean;
|
|
5412
|
+
inboundRunAsUserEmail?: string;
|
|
5413
|
+
maxCallSeconds?: number;
|
|
5414
|
+
maxConcurrentCalls?: number;
|
|
5415
|
+
outbound?: {
|
|
5416
|
+
allowedPrefixes?: string[];
|
|
5417
|
+
blockedPrefixes?: string[];
|
|
5418
|
+
maxCallsPerUserPerHour?: number;
|
|
5419
|
+
} & {
|
|
5420
|
+
[k: string]: unknown;
|
|
5421
|
+
};
|
|
5422
|
+
transferTargets?: {
|
|
5423
|
+
number?: string;
|
|
5424
|
+
name?: string;
|
|
5425
|
+
kind?: "number" | "user" | "agent";
|
|
5426
|
+
userEmail?: string;
|
|
5427
|
+
fallbackNumber?: string;
|
|
5428
|
+
agentName?: string;
|
|
5429
|
+
description?: string;
|
|
5430
|
+
}[];
|
|
3524
5431
|
twilio?: {
|
|
3525
5432
|
accountSid?: string;
|
|
3526
5433
|
authToken?: string;
|
|
@@ -3529,11 +5436,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3529
5436
|
streamPublicUrl?: string;
|
|
3530
5437
|
webhookSigningSecret?: string;
|
|
3531
5438
|
statusCallbackUrl?: string;
|
|
5439
|
+
amdStatusCallbackUrl?: string;
|
|
5440
|
+
onMachine?: "hangup" | "continue";
|
|
3532
5441
|
} & {
|
|
3533
5442
|
[k: string]: unknown;
|
|
3534
5443
|
};
|
|
3535
5444
|
vonage?: {
|
|
3536
5445
|
apiKey?: string;
|
|
5446
|
+
onMachine?: "hangup" | "continue";
|
|
3537
5447
|
applicationId?: string;
|
|
3538
5448
|
privateKey?: string;
|
|
3539
5449
|
apiSecret?: string;
|
|
@@ -3554,6 +5464,27 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3554
5464
|
} & {
|
|
3555
5465
|
[k: string]: unknown;
|
|
3556
5466
|
};
|
|
5467
|
+
livekitSip?: {
|
|
5468
|
+
apiKey?: string;
|
|
5469
|
+
apiSecret?: string;
|
|
5470
|
+
serverUrl?: string;
|
|
5471
|
+
roomPrefix?: string;
|
|
5472
|
+
numbers?: string[];
|
|
5473
|
+
inboundTrunkId?: string;
|
|
5474
|
+
outboundTrunkId?: string;
|
|
5475
|
+
outboundFromNumber?: string;
|
|
5476
|
+
autoProvision?: boolean;
|
|
5477
|
+
allowedAddresses?: string[];
|
|
5478
|
+
carrier?: {
|
|
5479
|
+
type?: "twilio-elastic-sip";
|
|
5480
|
+
numbers?: string[];
|
|
5481
|
+
originationUri?: string;
|
|
5482
|
+
terminationUri?: string;
|
|
5483
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
5484
|
+
};
|
|
5485
|
+
} & {
|
|
5486
|
+
[k: string]: unknown;
|
|
5487
|
+
};
|
|
3557
5488
|
teams?: {
|
|
3558
5489
|
enabled?: boolean;
|
|
3559
5490
|
tenantId?: string;
|
|
@@ -3661,6 +5592,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3661
5592
|
pollingIntervalMs?: number;
|
|
3662
5593
|
maxConcurrentRuns?: number;
|
|
3663
5594
|
};
|
|
5595
|
+
workQueue?: {
|
|
5596
|
+
enabled?: boolean;
|
|
5597
|
+
systemUserEmail?: string;
|
|
5598
|
+
subscriptions?: {
|
|
5599
|
+
name?: string;
|
|
5600
|
+
concurrency?: number;
|
|
5601
|
+
}[];
|
|
5602
|
+
idlePollMinMs?: number;
|
|
5603
|
+
idlePollMaxMs?: number;
|
|
5604
|
+
shutdownDrainMs?: number;
|
|
5605
|
+
sweeperEnabled?: boolean;
|
|
5606
|
+
sweeperIntervalMs?: number;
|
|
5607
|
+
reconcileIntervalMs?: number;
|
|
5608
|
+
};
|
|
3664
5609
|
telemetry?: {
|
|
3665
5610
|
enabled?: boolean;
|
|
3666
5611
|
level?: "minimal" | "standard" | "verbose" | "debug";
|
|
@@ -3717,12 +5662,12 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3717
5662
|
maxAge?: number;
|
|
3718
5663
|
};
|
|
3719
5664
|
rateLimiting?: {
|
|
5665
|
+
enabled?: boolean;
|
|
3720
5666
|
global?: {
|
|
3721
5667
|
message?: string;
|
|
3722
5668
|
windowMs?: number;
|
|
3723
5669
|
maxRequests?: number;
|
|
3724
5670
|
};
|
|
3725
|
-
enabled?: boolean;
|
|
3726
5671
|
graphql?: {
|
|
3727
5672
|
windowMs?: number;
|
|
3728
5673
|
maxRequests?: number;
|
|
@@ -3808,6 +5753,25 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3808
5753
|
};
|
|
3809
5754
|
telephony?: {
|
|
3810
5755
|
enabled?: string | number | boolean;
|
|
5756
|
+
inboundRunAsUserEmail?: string;
|
|
5757
|
+
maxCallSeconds?: number;
|
|
5758
|
+
maxConcurrentCalls?: number;
|
|
5759
|
+
outbound?: {
|
|
5760
|
+
allowedPrefixes?: string[];
|
|
5761
|
+
blockedPrefixes?: string[];
|
|
5762
|
+
maxCallsPerUserPerHour?: number;
|
|
5763
|
+
} & {
|
|
5764
|
+
[k: string]: unknown;
|
|
5765
|
+
};
|
|
5766
|
+
transferTargets?: {
|
|
5767
|
+
number?: string;
|
|
5768
|
+
name?: string;
|
|
5769
|
+
kind?: "number" | "user" | "agent";
|
|
5770
|
+
userEmail?: string;
|
|
5771
|
+
fallbackNumber?: string;
|
|
5772
|
+
agentName?: string;
|
|
5773
|
+
description?: string;
|
|
5774
|
+
}[];
|
|
3811
5775
|
twilio?: {
|
|
3812
5776
|
accountSid?: string;
|
|
3813
5777
|
authToken?: string;
|
|
@@ -3816,11 +5780,14 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3816
5780
|
streamPublicUrl?: string;
|
|
3817
5781
|
webhookSigningSecret?: string;
|
|
3818
5782
|
statusCallbackUrl?: string;
|
|
5783
|
+
amdStatusCallbackUrl?: string;
|
|
5784
|
+
onMachine?: "hangup" | "continue";
|
|
3819
5785
|
} & {
|
|
3820
5786
|
[k: string]: unknown;
|
|
3821
5787
|
};
|
|
3822
5788
|
vonage?: {
|
|
3823
5789
|
apiKey?: string;
|
|
5790
|
+
onMachine?: "hangup" | "continue";
|
|
3824
5791
|
applicationId?: string;
|
|
3825
5792
|
privateKey?: string;
|
|
3826
5793
|
apiSecret?: string;
|
|
@@ -3841,6 +5808,27 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3841
5808
|
} & {
|
|
3842
5809
|
[k: string]: unknown;
|
|
3843
5810
|
};
|
|
5811
|
+
livekitSip?: {
|
|
5812
|
+
apiKey?: string;
|
|
5813
|
+
apiSecret?: string;
|
|
5814
|
+
serverUrl?: string;
|
|
5815
|
+
roomPrefix?: string;
|
|
5816
|
+
numbers?: string[];
|
|
5817
|
+
inboundTrunkId?: string;
|
|
5818
|
+
outboundTrunkId?: string;
|
|
5819
|
+
outboundFromNumber?: string;
|
|
5820
|
+
autoProvision?: string | number | boolean;
|
|
5821
|
+
allowedAddresses?: string[];
|
|
5822
|
+
carrier?: {
|
|
5823
|
+
type?: "twilio-elastic-sip";
|
|
5824
|
+
numbers?: string[];
|
|
5825
|
+
originationUri?: string;
|
|
5826
|
+
terminationUri?: string;
|
|
5827
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
5828
|
+
};
|
|
5829
|
+
} & {
|
|
5830
|
+
[k: string]: unknown;
|
|
5831
|
+
};
|
|
3844
5832
|
teams?: {
|
|
3845
5833
|
enabled?: string | number | boolean;
|
|
3846
5834
|
tenantId?: string;
|
|
@@ -3948,6 +5936,20 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
3948
5936
|
pollingIntervalMs?: number;
|
|
3949
5937
|
maxConcurrentRuns?: number;
|
|
3950
5938
|
};
|
|
5939
|
+
workQueue?: {
|
|
5940
|
+
enabled?: boolean;
|
|
5941
|
+
systemUserEmail?: string;
|
|
5942
|
+
subscriptions?: {
|
|
5943
|
+
name?: string;
|
|
5944
|
+
concurrency?: number;
|
|
5945
|
+
}[];
|
|
5946
|
+
idlePollMinMs?: number;
|
|
5947
|
+
idlePollMaxMs?: number;
|
|
5948
|
+
shutdownDrainMs?: number;
|
|
5949
|
+
sweeperEnabled?: boolean;
|
|
5950
|
+
sweeperIntervalMs?: number;
|
|
5951
|
+
reconcileIntervalMs?: number;
|
|
5952
|
+
};
|
|
3951
5953
|
telemetry?: {
|
|
3952
5954
|
enabled?: string | number | boolean;
|
|
3953
5955
|
level?: "minimal" | "standard" | "verbose" | "debug";
|
|
@@ -4004,12 +6006,12 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
4004
6006
|
maxAge?: number;
|
|
4005
6007
|
};
|
|
4006
6008
|
rateLimiting?: {
|
|
6009
|
+
enabled?: boolean;
|
|
4007
6010
|
global?: {
|
|
4008
6011
|
message?: string;
|
|
4009
6012
|
windowMs?: number;
|
|
4010
6013
|
maxRequests?: number;
|
|
4011
6014
|
};
|
|
4012
|
-
enabled?: boolean;
|
|
4013
6015
|
graphql?: {
|
|
4014
6016
|
windowMs?: number;
|
|
4015
6017
|
maxRequests?: number;
|
|
@@ -4049,6 +6051,7 @@ export type RealtimeConfig = z.infer<typeof realtimeSchema>;
|
|
|
4049
6051
|
export type TwilioTelephonyConfig = z.infer<typeof twilioTelephonySchema>;
|
|
4050
6052
|
export type VonageTelephonyConfig = z.infer<typeof vonageTelephonySchema>;
|
|
4051
6053
|
export type RingCentralTelephonyConfig = z.infer<typeof ringcentralTelephonySchema>;
|
|
6054
|
+
export type LiveKitSipTelephonyConfig = z.infer<typeof livekitSipTelephonySchema>;
|
|
4052
6055
|
export type TeamsMeetingsConfig = z.infer<typeof teamsMeetingsSchema>;
|
|
4053
6056
|
export type DatabaseSettingsInfo = z.infer<typeof databaseSettingsInfoSchema>;
|
|
4054
6057
|
export type ViewingSystemSettingsInfo = z.infer<typeof viewingSystemInfoSchema>;
|
|
@@ -4059,6 +6062,7 @@ export type AuthProviderConfig = z.infer<typeof authProviderSchema>;
|
|
|
4059
6062
|
export type ComponentRegistryConfig = z.infer<typeof componentRegistrySchema>;
|
|
4060
6063
|
export type ScheduledJobsConfig = z.infer<typeof scheduledJobsSchema>;
|
|
4061
6064
|
export type IntegrationSyncWorkerConfig = z.infer<typeof integrationSyncWorkerSchema>;
|
|
6065
|
+
export type { WorkQueueConfig } from './services/workQueueConfig.js';
|
|
4062
6066
|
export type TelemetryConfig = z.infer<typeof telemetrySchema>;
|
|
4063
6067
|
export type QueryDialectConfig = z.infer<typeof queryDialectSchema>;
|
|
4064
6068
|
export type MultiTenancyConfig = z.infer<typeof multiTenancySchema>;
|
|
@@ -4157,6 +6161,25 @@ export declare function LoadConfig(): {
|
|
|
4157
6161
|
};
|
|
4158
6162
|
telephony?: {
|
|
4159
6163
|
enabled?: boolean;
|
|
6164
|
+
inboundRunAsUserEmail?: string;
|
|
6165
|
+
maxCallSeconds?: number;
|
|
6166
|
+
maxConcurrentCalls?: number;
|
|
6167
|
+
outbound?: {
|
|
6168
|
+
allowedPrefixes?: string[];
|
|
6169
|
+
blockedPrefixes?: string[];
|
|
6170
|
+
maxCallsPerUserPerHour?: number;
|
|
6171
|
+
} & {
|
|
6172
|
+
[k: string]: unknown;
|
|
6173
|
+
};
|
|
6174
|
+
transferTargets?: {
|
|
6175
|
+
number?: string;
|
|
6176
|
+
name?: string;
|
|
6177
|
+
kind?: "number" | "user" | "agent";
|
|
6178
|
+
userEmail?: string;
|
|
6179
|
+
fallbackNumber?: string;
|
|
6180
|
+
agentName?: string;
|
|
6181
|
+
description?: string;
|
|
6182
|
+
}[];
|
|
4160
6183
|
twilio?: {
|
|
4161
6184
|
accountSid?: string;
|
|
4162
6185
|
authToken?: string;
|
|
@@ -4165,11 +6188,14 @@ export declare function LoadConfig(): {
|
|
|
4165
6188
|
streamPublicUrl?: string;
|
|
4166
6189
|
webhookSigningSecret?: string;
|
|
4167
6190
|
statusCallbackUrl?: string;
|
|
6191
|
+
amdStatusCallbackUrl?: string;
|
|
6192
|
+
onMachine?: "hangup" | "continue";
|
|
4168
6193
|
} & {
|
|
4169
6194
|
[k: string]: unknown;
|
|
4170
6195
|
};
|
|
4171
6196
|
vonage?: {
|
|
4172
6197
|
apiKey?: string;
|
|
6198
|
+
onMachine?: "hangup" | "continue";
|
|
4173
6199
|
applicationId?: string;
|
|
4174
6200
|
privateKey?: string;
|
|
4175
6201
|
apiSecret?: string;
|
|
@@ -4190,6 +6216,27 @@ export declare function LoadConfig(): {
|
|
|
4190
6216
|
} & {
|
|
4191
6217
|
[k: string]: unknown;
|
|
4192
6218
|
};
|
|
6219
|
+
livekitSip?: {
|
|
6220
|
+
apiKey?: string;
|
|
6221
|
+
apiSecret?: string;
|
|
6222
|
+
serverUrl?: string;
|
|
6223
|
+
roomPrefix?: string;
|
|
6224
|
+
numbers?: string[];
|
|
6225
|
+
inboundTrunkId?: string;
|
|
6226
|
+
outboundTrunkId?: string;
|
|
6227
|
+
outboundFromNumber?: string;
|
|
6228
|
+
autoProvision?: boolean;
|
|
6229
|
+
allowedAddresses?: string[];
|
|
6230
|
+
carrier?: {
|
|
6231
|
+
type?: "twilio-elastic-sip";
|
|
6232
|
+
numbers?: string[];
|
|
6233
|
+
originationUri?: string;
|
|
6234
|
+
terminationUri?: string;
|
|
6235
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
6236
|
+
};
|
|
6237
|
+
} & {
|
|
6238
|
+
[k: string]: unknown;
|
|
6239
|
+
};
|
|
4193
6240
|
teams?: {
|
|
4194
6241
|
enabled?: boolean;
|
|
4195
6242
|
tenantId?: string;
|
|
@@ -4297,6 +6344,20 @@ export declare function LoadConfig(): {
|
|
|
4297
6344
|
pollingIntervalMs?: number;
|
|
4298
6345
|
maxConcurrentRuns?: number;
|
|
4299
6346
|
};
|
|
6347
|
+
workQueue?: {
|
|
6348
|
+
enabled?: boolean;
|
|
6349
|
+
systemUserEmail?: string;
|
|
6350
|
+
subscriptions?: {
|
|
6351
|
+
name?: string;
|
|
6352
|
+
concurrency?: number;
|
|
6353
|
+
}[];
|
|
6354
|
+
idlePollMinMs?: number;
|
|
6355
|
+
idlePollMaxMs?: number;
|
|
6356
|
+
shutdownDrainMs?: number;
|
|
6357
|
+
sweeperEnabled?: boolean;
|
|
6358
|
+
sweeperIntervalMs?: number;
|
|
6359
|
+
reconcileIntervalMs?: number;
|
|
6360
|
+
};
|
|
4300
6361
|
telemetry?: {
|
|
4301
6362
|
enabled?: boolean;
|
|
4302
6363
|
level?: "minimal" | "standard" | "verbose" | "debug";
|
|
@@ -4353,12 +6414,12 @@ export declare function LoadConfig(): {
|
|
|
4353
6414
|
maxAge?: number;
|
|
4354
6415
|
};
|
|
4355
6416
|
rateLimiting?: {
|
|
6417
|
+
enabled?: boolean;
|
|
4356
6418
|
global?: {
|
|
4357
6419
|
message?: string;
|
|
4358
6420
|
windowMs?: number;
|
|
4359
6421
|
maxRequests?: number;
|
|
4360
6422
|
};
|
|
4361
|
-
enabled?: boolean;
|
|
4362
6423
|
graphql?: {
|
|
4363
6424
|
windowMs?: number;
|
|
4364
6425
|
maxRequests?: number;
|
|
@@ -4446,6 +6507,25 @@ export declare function loadConfig(): {
|
|
|
4446
6507
|
};
|
|
4447
6508
|
telephony?: {
|
|
4448
6509
|
enabled?: boolean;
|
|
6510
|
+
inboundRunAsUserEmail?: string;
|
|
6511
|
+
maxCallSeconds?: number;
|
|
6512
|
+
maxConcurrentCalls?: number;
|
|
6513
|
+
outbound?: {
|
|
6514
|
+
allowedPrefixes?: string[];
|
|
6515
|
+
blockedPrefixes?: string[];
|
|
6516
|
+
maxCallsPerUserPerHour?: number;
|
|
6517
|
+
} & {
|
|
6518
|
+
[k: string]: unknown;
|
|
6519
|
+
};
|
|
6520
|
+
transferTargets?: {
|
|
6521
|
+
number?: string;
|
|
6522
|
+
name?: string;
|
|
6523
|
+
kind?: "number" | "user" | "agent";
|
|
6524
|
+
userEmail?: string;
|
|
6525
|
+
fallbackNumber?: string;
|
|
6526
|
+
agentName?: string;
|
|
6527
|
+
description?: string;
|
|
6528
|
+
}[];
|
|
4449
6529
|
twilio?: {
|
|
4450
6530
|
accountSid?: string;
|
|
4451
6531
|
authToken?: string;
|
|
@@ -4454,11 +6534,14 @@ export declare function loadConfig(): {
|
|
|
4454
6534
|
streamPublicUrl?: string;
|
|
4455
6535
|
webhookSigningSecret?: string;
|
|
4456
6536
|
statusCallbackUrl?: string;
|
|
6537
|
+
amdStatusCallbackUrl?: string;
|
|
6538
|
+
onMachine?: "hangup" | "continue";
|
|
4457
6539
|
} & {
|
|
4458
6540
|
[k: string]: unknown;
|
|
4459
6541
|
};
|
|
4460
6542
|
vonage?: {
|
|
4461
6543
|
apiKey?: string;
|
|
6544
|
+
onMachine?: "hangup" | "continue";
|
|
4462
6545
|
applicationId?: string;
|
|
4463
6546
|
privateKey?: string;
|
|
4464
6547
|
apiSecret?: string;
|
|
@@ -4479,6 +6562,27 @@ export declare function loadConfig(): {
|
|
|
4479
6562
|
} & {
|
|
4480
6563
|
[k: string]: unknown;
|
|
4481
6564
|
};
|
|
6565
|
+
livekitSip?: {
|
|
6566
|
+
apiKey?: string;
|
|
6567
|
+
apiSecret?: string;
|
|
6568
|
+
serverUrl?: string;
|
|
6569
|
+
roomPrefix?: string;
|
|
6570
|
+
numbers?: string[];
|
|
6571
|
+
inboundTrunkId?: string;
|
|
6572
|
+
outboundTrunkId?: string;
|
|
6573
|
+
outboundFromNumber?: string;
|
|
6574
|
+
autoProvision?: boolean;
|
|
6575
|
+
allowedAddresses?: string[];
|
|
6576
|
+
carrier?: {
|
|
6577
|
+
type?: "twilio-elastic-sip";
|
|
6578
|
+
numbers?: string[];
|
|
6579
|
+
originationUri?: string;
|
|
6580
|
+
terminationUri?: string;
|
|
6581
|
+
terminationAuth?: "credential-list" | "ip-acl";
|
|
6582
|
+
};
|
|
6583
|
+
} & {
|
|
6584
|
+
[k: string]: unknown;
|
|
6585
|
+
};
|
|
4482
6586
|
teams?: {
|
|
4483
6587
|
enabled?: boolean;
|
|
4484
6588
|
tenantId?: string;
|
|
@@ -4586,6 +6690,20 @@ export declare function loadConfig(): {
|
|
|
4586
6690
|
pollingIntervalMs?: number;
|
|
4587
6691
|
maxConcurrentRuns?: number;
|
|
4588
6692
|
};
|
|
6693
|
+
workQueue?: {
|
|
6694
|
+
enabled?: boolean;
|
|
6695
|
+
systemUserEmail?: string;
|
|
6696
|
+
subscriptions?: {
|
|
6697
|
+
name?: string;
|
|
6698
|
+
concurrency?: number;
|
|
6699
|
+
}[];
|
|
6700
|
+
idlePollMinMs?: number;
|
|
6701
|
+
idlePollMaxMs?: number;
|
|
6702
|
+
shutdownDrainMs?: number;
|
|
6703
|
+
sweeperEnabled?: boolean;
|
|
6704
|
+
sweeperIntervalMs?: number;
|
|
6705
|
+
reconcileIntervalMs?: number;
|
|
6706
|
+
};
|
|
4589
6707
|
telemetry?: {
|
|
4590
6708
|
enabled?: boolean;
|
|
4591
6709
|
level?: "minimal" | "standard" | "verbose" | "debug";
|
|
@@ -4642,12 +6760,12 @@ export declare function loadConfig(): {
|
|
|
4642
6760
|
maxAge?: number;
|
|
4643
6761
|
};
|
|
4644
6762
|
rateLimiting?: {
|
|
6763
|
+
enabled?: boolean;
|
|
4645
6764
|
global?: {
|
|
4646
6765
|
message?: string;
|
|
4647
6766
|
windowMs?: number;
|
|
4648
6767
|
maxRequests?: number;
|
|
4649
6768
|
};
|
|
4650
|
-
enabled?: boolean;
|
|
4651
6769
|
graphql?: {
|
|
4652
6770
|
windowMs?: number;
|
|
4653
6771
|
maxRequests?: number;
|