@wildix/wilma-voice-client 0.0.39 → 0.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import type { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
2
2
  import { type DescribeVoiceProtocolCommandInput, type DescribeVoiceProtocolCommandOutput } from "./commands/DescribeVoiceProtocolCommand";
3
+ import { type GetVoiceDefaultsCommandInput, type GetVoiceDefaultsCommandOutput } from "./commands/GetVoiceDefaultsCommand";
3
4
  import { type ListVoicesCommandInput, type ListVoicesCommandOutput } from "./commands/ListVoicesCommand";
4
5
  import { type SendHangupCommandInput, type SendHangupCommandOutput } from "./commands/SendHangupCommand";
5
6
  import { type SendPlayCommandInput, type SendPlayCommandOutput } from "./commands/SendPlayCommand";
@@ -17,6 +18,13 @@ export interface WilmaVoice {
17
18
  describeVoiceProtocol(args: DescribeVoiceProtocolCommandInput, options?: __HttpHandlerOptions): Promise<DescribeVoiceProtocolCommandOutput>;
18
19
  describeVoiceProtocol(args: DescribeVoiceProtocolCommandInput, cb: (err: any, data?: DescribeVoiceProtocolCommandOutput) => void): void;
19
20
  describeVoiceProtocol(args: DescribeVoiceProtocolCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeVoiceProtocolCommandOutput) => void): void;
21
+ /**
22
+ * @see {@link GetVoiceDefaultsCommand}
23
+ */
24
+ getVoiceDefaults(): Promise<GetVoiceDefaultsCommandOutput>;
25
+ getVoiceDefaults(args: GetVoiceDefaultsCommandInput, options?: __HttpHandlerOptions): Promise<GetVoiceDefaultsCommandOutput>;
26
+ getVoiceDefaults(args: GetVoiceDefaultsCommandInput, cb: (err: any, data?: GetVoiceDefaultsCommandOutput) => void): void;
27
+ getVoiceDefaults(args: GetVoiceDefaultsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetVoiceDefaultsCommandOutput) => void): void;
20
28
  /**
21
29
  * @see {@link ListVoicesCommand}
22
30
  */
@@ -76,11 +84,13 @@ export interface WilmaVoice {
76
84
  * On the WebSocket (transport host `wilma-voice-ws.wildix.com`), PBX clients transcribe caller
77
85
  * speech themselves and send `transcription` / `reply` text, while web/app clients connect with
78
86
  * inputMode=AUDIO and push raw caller `audio` chunks that the service transcribes server-side;
79
- * the service returns `say` / `play` / `stop` / `hangup` / `transfer`. Every WebSocket message
80
- * shape (connect params, events and commands) is declared as a structure and enumerated by
81
- * DescribeVoiceProtocol so the generated SDKs carry the types and (de)serializers; the WebSocket
82
- * transport itself is hand-coded. The HTTP Send* operations push the same commands into a live
83
- * session out-of-band.
87
+ * the service returns `say` / `play` / `stop` / `hangup` / `transfer`. On the PBX media socket
88
+ * (`/v2/voice/media/ws`, subprotocol `wilma-media-v2`), the PBX sends raw caller audio and the
89
+ * service answers with audio and the text frames listed under DescribeVoiceProtocol `media`.
90
+ * Every WebSocket message shape (connect params, events and commands) is declared as a structure
91
+ * and enumerated by DescribeVoiceProtocol so the generated SDKs carry the types and
92
+ * (de)serializers; the WebSocket transport itself is hand-coded. The HTTP Send* operations push
93
+ * the same commands into a live session out-of-band.
84
94
  *
85
95
  * Session observability and history are recorded in wilma-traces; this service does not expose
86
96
  * bot configuration, traces or listing.
@@ -6,6 +6,7 @@ import { type RetryInputConfig, type RetryResolvedConfig } from "@smithy/core/re
6
6
  import type { BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, SdkStreamMixinInjector as __SdkStreamMixinInjector, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
7
7
  import { type HttpAuthSchemeInputConfig, type HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
8
8
  import type { DescribeVoiceProtocolCommandInput, DescribeVoiceProtocolCommandOutput } from "./commands/DescribeVoiceProtocolCommand";
9
+ import type { GetVoiceDefaultsCommandInput, GetVoiceDefaultsCommandOutput } from "./commands/GetVoiceDefaultsCommand";
9
10
  import type { ListVoicesCommandInput, ListVoicesCommandOutput } from "./commands/ListVoicesCommand";
10
11
  import type { SendHangupCommandInput, SendHangupCommandOutput } from "./commands/SendHangupCommand";
11
12
  import type { SendPlayCommandInput, SendPlayCommandOutput } from "./commands/SendPlayCommand";
@@ -20,11 +21,11 @@ export { __Client };
20
21
  /**
21
22
  * @public
22
23
  */
23
- export type ServiceInputTypes = DescribeVoiceProtocolCommandInput | ListVoicesCommandInput | SendHangupCommandInput | SendPlayCommandInput | SendSayCommandInput | SendStopCommandInput | SendTransferCommandInput | StreamCallEventsCommandInput | TextToSpeechCommandInput;
24
+ export type ServiceInputTypes = DescribeVoiceProtocolCommandInput | GetVoiceDefaultsCommandInput | ListVoicesCommandInput | SendHangupCommandInput | SendPlayCommandInput | SendSayCommandInput | SendStopCommandInput | SendTransferCommandInput | StreamCallEventsCommandInput | TextToSpeechCommandInput;
24
25
  /**
25
26
  * @public
26
27
  */
27
- export type ServiceOutputTypes = DescribeVoiceProtocolCommandOutput | ListVoicesCommandOutput | SendHangupCommandOutput | SendPlayCommandOutput | SendSayCommandOutput | SendStopCommandOutput | SendTransferCommandOutput | StreamCallEventsCommandOutput | TextToSpeechCommandOutput;
28
+ export type ServiceOutputTypes = DescribeVoiceProtocolCommandOutput | GetVoiceDefaultsCommandOutput | ListVoicesCommandOutput | SendHangupCommandOutput | SendPlayCommandOutput | SendSayCommandOutput | SendStopCommandOutput | SendTransferCommandOutput | StreamCallEventsCommandOutput | TextToSpeechCommandOutput;
28
29
  /**
29
30
  * @public
30
31
  */
@@ -167,11 +168,13 @@ export interface WilmaVoiceClientResolvedConfig extends WilmaVoiceClientResolved
167
168
  * On the WebSocket (transport host `wilma-voice-ws.wildix.com`), PBX clients transcribe caller
168
169
  * speech themselves and send `transcription` / `reply` text, while web/app clients connect with
169
170
  * inputMode=AUDIO and push raw caller `audio` chunks that the service transcribes server-side;
170
- * the service returns `say` / `play` / `stop` / `hangup` / `transfer`. Every WebSocket message
171
- * shape (connect params, events and commands) is declared as a structure and enumerated by
172
- * DescribeVoiceProtocol so the generated SDKs carry the types and (de)serializers; the WebSocket
173
- * transport itself is hand-coded. The HTTP Send* operations push the same commands into a live
174
- * session out-of-band.
171
+ * the service returns `say` / `play` / `stop` / `hangup` / `transfer`. On the PBX media socket
172
+ * (`/v2/voice/media/ws`, subprotocol `wilma-media-v2`), the PBX sends raw caller audio and the
173
+ * service answers with audio and the text frames listed under DescribeVoiceProtocol `media`.
174
+ * Every WebSocket message shape (connect params, events and commands) is declared as a structure
175
+ * and enumerated by DescribeVoiceProtocol so the generated SDKs carry the types and
176
+ * (de)serializers; the WebSocket transport itself is hand-coded. The HTTP Send* operations push
177
+ * the same commands into a live session out-of-band.
175
178
  *
176
179
  * Session observability and history are recorded in wilma-traces; this service does not expose
177
180
  * bot configuration, traces or listing.
@@ -27,7 +27,7 @@ declare const DescribeVoiceProtocolCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * Describes the WebSocket connect parameters, events and commands of the voice protocol. Utility method; the generated shapes are the source of truth for building a WebSocket client or server by hand.
30
+ * Describes the WebSocket connect parameters, events and commands of the voice protocol, and the messages of the PBX media socket. Utility method; the generated shapes are the source of truth for building a WebSocket client or server by hand.
31
31
  * @example
32
32
  * Use a bare-bones client and the command you need to make an API call.
33
33
  * ```javascript
@@ -297,19 +297,146 @@ declare const DescribeVoiceProtocolCommand_base: {
297
297
  * // phase: "started" || "finished", // required
298
298
  * // startMessage: "STRING_VALUE",
299
299
  * // },
300
- * // backend: { // VoiceCallBackendEvent
301
- * // transport: "webhook" || "sqs", // required
302
- * // event: "STRING_VALUE", // required
303
- * // delivered: true || false, // required
304
- * // status: Number("int"),
305
- * // durationMs: Number("int"),
306
- * // error: "STRING_VALUE",
307
- * // },
308
300
  * // ended: { // VoiceCallEndedEvent
309
301
  * // sessionId: "STRING_VALUE", // required
310
302
  * // reason: "hangup" || "transfer" || "timeout" || "error" || "complete", // required
311
303
  * // },
312
304
  * // },
305
+ * // media: { // MediaProtocolFrames
306
+ * // pbx: { // MediaPbxFrames
307
+ * // start: { // MediaStartFrame
308
+ * // type: "start", // required
309
+ * // purpose: "agent" || "transcription", // required
310
+ * // callId: "STRING_VALUE", // required
311
+ * // flowIndex: Number("int"), // required
312
+ * // sessionId: "STRING_VALUE", // required
313
+ * // resume: true || false, // required
314
+ * // resumeAtMs: Number("int"), // required
315
+ * // audio: { // MediaAudioFormat
316
+ * // encoding: "pcm_s16le", // required
317
+ * // sampleRate: Number("int"), // required
318
+ * // channels: Number("int"), // required
319
+ * // },
320
+ * // agent: { // MediaStartAgent
321
+ * // id: "STRING_VALUE", // required
322
+ * // draft: true || false,
323
+ * // version: Number("int"),
324
+ * // },
325
+ * // languages: [ // MediaStartLanguageList
326
+ * // "STRING_VALUE",
327
+ * // ],
328
+ * // preferredLanguage: "STRING_VALUE",
329
+ * // autoDetect: true || false,
330
+ * // caller: { // MediaStartCaller
331
+ * // name: "STRING_VALUE",
332
+ * // number: "STRING_VALUE",
333
+ * // email: "STRING_VALUE",
334
+ * // company: "STRING_VALUE",
335
+ * // },
336
+ * // dialedNumber: "STRING_VALUE",
337
+ * // variables: "STRING_VALUE",
338
+ * // },
339
+ * // audio: new Uint8Array(),
340
+ * // vad: { // MediaVadFrame
341
+ * // type: "vad", // required
342
+ * // party: "caller" || "callee", // required
343
+ * // speaking: true || false, // required
344
+ * // energyDb: Number("double"), // required
345
+ * // atMs: Number("int"), // required
346
+ * // },
347
+ * // dtmf: { // MediaDtmfFrame
348
+ * // type: "dtmf", // required
349
+ * // id: "STRING_VALUE", // required
350
+ * // digits: "STRING_VALUE", // required
351
+ * // },
352
+ * // playback: { // MediaPlaybackFrame
353
+ * // type: "playback", // required
354
+ * // replyId: "STRING_VALUE", // required
355
+ * // streamId: "STRING_VALUE", // required
356
+ * // event: "started" || "finished" || "stopped", // required
357
+ * // atMs: Number("int"), // required
358
+ * // playedMs: Number("int"),
359
+ * // cause: "cloud" || "caller" || "drop",
360
+ * // },
361
+ * // finish: { // MediaFinishFrame
362
+ * // type: "finish", // required
363
+ * // reason: "caller-hangup" || "callee-hangup" || "agent-hangup" || "agent-transfer" || "timeout", // required
364
+ * // },
365
+ * // },
366
+ * // cloud: { // MediaCloudFrames
367
+ * // started: { // MediaStartedFrame
368
+ * // type: "started", // required
369
+ * // streamId: "STRING_VALUE", // required
370
+ * // agent: { // MediaStartedAgent
371
+ * // name: "STRING_VALUE", // required
372
+ * // },
373
+ * // groupId: "STRING_VALUE",
374
+ * // backgroundSound: "STRING_VALUE",
375
+ * // voiceDetection: { // MediaVoiceDetection
376
+ * // silenceMs: Number("int"), // required
377
+ * // silenceLevelDb: Number("int"), // required
378
+ * // speechLevelDb: Number("int"), // required
379
+ * // },
380
+ * // },
381
+ * // transcription: { // MediaTranscriptionFrame
382
+ * // type: "transcription", // required
383
+ * // party: "caller" || "callee", // required
384
+ * // id: "STRING_VALUE", // required
385
+ * // final: true || false, // required
386
+ * // text: "STRING_VALUE", // required
387
+ * // startMs: Number("int"), // required
388
+ * // endMs: Number("int"), // required
389
+ * // language: "STRING_VALUE", // required
390
+ * // confidence: Number("double"),
391
+ * // },
392
+ * // audioBegin: { // MediaAudioBeginFrame
393
+ * // type: "audio.begin", // required
394
+ * // replyId: "STRING_VALUE", // required
395
+ * // streamId: "STRING_VALUE", // required
396
+ * // sampleRate: Number("int"), // required
397
+ * // },
398
+ * // audio: new Uint8Array(),
399
+ * // audioEnd: { // MediaAudioEndFrame
400
+ * // type: "audio.end", // required
401
+ * // streamId: "STRING_VALUE", // required
402
+ * // },
403
+ * // stop: { // MediaStopFrame
404
+ * // type: "stop", // required
405
+ * // },
406
+ * // duck: { // MediaDuckFrame
407
+ * // type: "duck", // required
408
+ * // replyId: "STRING_VALUE", // required
409
+ * // volumeDb: Number("int"), // required
410
+ * // rampMs: Number("int"), // required
411
+ * // },
412
+ * // restore: { // MediaRestoreFrame
413
+ * // type: "restore", // required
414
+ * // replyId: "STRING_VALUE", // required
415
+ * // rampMs: Number("int"), // required
416
+ * // },
417
+ * // language: { // MediaLanguageFrame
418
+ * // type: "language", // required
419
+ * // language: "STRING_VALUE", // required
420
+ * // },
421
+ * // transfer: { // MediaTransferFrame
422
+ * // type: "transfer", // required
423
+ * // context: "STRING_VALUE", // required
424
+ * // extension: "STRING_VALUE", // required
425
+ * // },
426
+ * // hangup: { // MediaHangupFrame
427
+ * // type: "hangup", // required
428
+ * // },
429
+ * // error: { // MediaErrorFrame
430
+ * // type: "error", // required
431
+ * // code: "STRING_VALUE", // required
432
+ * // retryable: true || false, // required
433
+ * // message: "STRING_VALUE", // required
434
+ * // },
435
+ * // finished: { // MediaFinishedFrame
436
+ * // type: "finished", // required
437
+ * // },
438
+ * // },
439
+ * // },
313
440
  * // };
314
441
  *
315
442
  * ```
@@ -0,0 +1,90 @@
1
+ import { Command as $Command } from "@smithy/core/client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { GetVoiceDefaultsInput, GetVoiceDefaultsOutput } from "../models/models_0";
4
+ import type { ServiceInputTypes, ServiceOutputTypes, WilmaVoiceClientResolvedConfig } from "../WilmaVoiceClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetVoiceDefaultsCommand}.
14
+ */
15
+ export interface GetVoiceDefaultsCommandInput extends GetVoiceDefaultsInput {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetVoiceDefaultsCommand}.
21
+ */
22
+ export interface GetVoiceDefaultsCommandOutput extends GetVoiceDefaultsOutput, __MetadataBearer {
23
+ }
24
+ declare const GetVoiceDefaultsCommand_base: {
25
+ new (input: GetVoiceDefaultsCommandInput): import("@smithy/core/client").CommandImpl<GetVoiceDefaultsCommandInput, GetVoiceDefaultsCommandOutput, WilmaVoiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (...[input]: [] | [GetVoiceDefaultsCommandInput]): import("@smithy/core/client").CommandImpl<GetVoiceDefaultsCommandInput, GetVoiceDefaultsCommandOutput, WilmaVoiceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * Returns the voice channel tuning that applies to a call when the agent sets no value. The values can change without an agent change.
31
+ * @example
32
+ * Use a bare-bones client and the command you need to make an API call.
33
+ * ```javascript
34
+ * import { WilmaVoiceClient, GetVoiceDefaultsCommand } from "@wildix/wilma-voice-client"; // ES Modules import
35
+ * // const { WilmaVoiceClient, GetVoiceDefaultsCommand } = require("@wildix/wilma-voice-client"); // CommonJS import
36
+ * // import type { WilmaVoiceClientConfig } from "@wildix/wilma-voice-client";
37
+ * const config = {}; // type is WilmaVoiceClientConfig
38
+ * const client = new WilmaVoiceClient(config);
39
+ * const input = {};
40
+ * const command = new GetVoiceDefaultsCommand(input);
41
+ * const response = await client.send(command);
42
+ * // { // GetVoiceDefaultsOutput
43
+ * // voiceDetection: { // VoiceDetectionDefaults
44
+ * // silenceMs: Number("int"), // required
45
+ * // silenceLevelDb: Number("int"), // required
46
+ * // speechLevelDb: Number("int"), // required
47
+ * // },
48
+ * // interruptions: { // VoiceInterruptionDefaults
49
+ * // minWords: Number("int"), // required
50
+ * // minConfidence: Number("double"), // required
51
+ * // duckAfterMs: Number("int"), // required
52
+ * // duckVolumeDb: Number("int"), // required
53
+ * // restoreAfterMs: Number("int"), // required
54
+ * // },
55
+ * // turnEnd: { // VoiceTurnEndDefaults
56
+ * // holdMs: Number("int"), // required
57
+ * // },
58
+ * // };
59
+ *
60
+ * ```
61
+ *
62
+ * @param GetVoiceDefaultsCommandInput - {@link GetVoiceDefaultsCommandInput}
63
+ * @returns {@link GetVoiceDefaultsCommandOutput}
64
+ * @see {@link GetVoiceDefaultsCommandInput} for command's `input` shape.
65
+ * @see {@link GetVoiceDefaultsCommandOutput} for command's `response` shape.
66
+ * @see {@link WilmaVoiceClientResolvedConfig | config} for WilmaVoiceClient's `config` shape.
67
+ *
68
+ * @throws {@link ValidationException} (client fault)
69
+ *
70
+ * @throws {@link ForbiddenException} (client fault)
71
+ *
72
+ * @throws {@link WilmaVoiceServiceException}
73
+ * <p>Base exception class for all service exceptions from WilmaVoice service.</p>
74
+ *
75
+ *
76
+ * @public
77
+ */
78
+ export declare class GetVoiceDefaultsCommand extends GetVoiceDefaultsCommand_base {
79
+ /** @internal type navigation helper, not in runtime. */
80
+ protected static __types: {
81
+ api: {
82
+ input: {};
83
+ output: GetVoiceDefaultsOutput;
84
+ };
85
+ sdk: {
86
+ input: GetVoiceDefaultsCommandInput;
87
+ output: GetVoiceDefaultsCommandOutput;
88
+ };
89
+ };
90
+ }
@@ -1,4 +1,5 @@
1
1
  export * from "./DescribeVoiceProtocolCommand";
2
+ export * from "./GetVoiceDefaultsCommand";
2
3
  export * from "./ListVoicesCommand";
3
4
  export * from "./SendHangupCommand";
4
5
  export * from "./SendPlayCommand";
@@ -8,11 +8,13 @@
8
8
  * On the WebSocket (transport host `wilma-voice-ws.wildix.com`), PBX clients transcribe caller
9
9
  * speech themselves and send `transcription` / `reply` text, while web/app clients connect with
10
10
  * inputMode=AUDIO and push raw caller `audio` chunks that the service transcribes server-side;
11
- * the service returns `say` / `play` / `stop` / `hangup` / `transfer`. Every WebSocket message
12
- * shape (connect params, events and commands) is declared as a structure and enumerated by
13
- * DescribeVoiceProtocol so the generated SDKs carry the types and (de)serializers; the WebSocket
14
- * transport itself is hand-coded. The HTTP Send* operations push the same commands into a live
15
- * session out-of-band.
11
+ * the service returns `say` / `play` / `stop` / `hangup` / `transfer`. On the PBX media socket
12
+ * (`/v2/voice/media/ws`, subprotocol `wilma-media-v2`), the PBX sends raw caller audio and the
13
+ * service answers with audio and the text frames listed under DescribeVoiceProtocol `media`.
14
+ * Every WebSocket message shape (connect params, events and commands) is declared as a structure
15
+ * and enumerated by DescribeVoiceProtocol so the generated SDKs carry the types and
16
+ * (de)serializers; the WebSocket transport itself is hand-coded. The HTTP Send* operations push
17
+ * the same commands into a live session out-of-band.
16
18
  *
17
19
  * Session observability and history are recorded in wilma-traces; this service does not expose
18
20
  * bot configuration, traces or listing.