@wildix/wilma-agents-client 1.0.18 → 1.0.22

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.
Files changed (32) hide show
  1. package/dist-cjs/WilmaAgents.js +6 -0
  2. package/dist-cjs/commands/DeletePronunciationDictionaryCommand.js +20 -0
  3. package/dist-cjs/commands/ListPronunciationDictionariesCommand.js +20 -0
  4. package/dist-cjs/commands/PutPronunciationDictionaryCommand.js +20 -0
  5. package/dist-cjs/commands/index.js +3 -0
  6. package/dist-cjs/models/enums.js +13 -1
  7. package/dist-cjs/schemas/schemas_0.js +134 -9
  8. package/dist-es/WilmaAgents.js +6 -0
  9. package/dist-es/commands/DeletePronunciationDictionaryCommand.js +16 -0
  10. package/dist-es/commands/ListPronunciationDictionariesCommand.js +16 -0
  11. package/dist-es/commands/PutPronunciationDictionaryCommand.js +16 -0
  12. package/dist-es/commands/index.js +3 -0
  13. package/dist-es/models/enums.js +12 -0
  14. package/dist-es/schemas/schemas_0.js +132 -7
  15. package/dist-types/WilmaAgents.d.ts +22 -0
  16. package/dist-types/WilmaAgentsClient.d.ts +5 -2
  17. package/dist-types/commands/CreateAgentCommand.d.ts +112 -6
  18. package/dist-types/commands/DeletePronunciationDictionaryCommand.d.ts +78 -0
  19. package/dist-types/commands/GetAgentCommand.d.ts +56 -3
  20. package/dist-types/commands/GetAgentVersionCommand.d.ts +56 -3
  21. package/dist-types/commands/ListAgentsCommand.d.ts +56 -3
  22. package/dist-types/commands/ListAgentsNamesCommand.d.ts +1 -0
  23. package/dist-types/commands/ListPronunciationDictionariesCommand.d.ts +96 -0
  24. package/dist-types/commands/PublishAgentVersionCommand.d.ts +56 -3
  25. package/dist-types/commands/PutPronunciationDictionaryCommand.d.ts +108 -0
  26. package/dist-types/commands/RestoreAgentVersionToDraftCommand.d.ts +56 -3
  27. package/dist-types/commands/UpdateAgentCommand.d.ts +112 -6
  28. package/dist-types/commands/index.d.ts +3 -0
  29. package/dist-types/models/enums.d.ts +42 -0
  30. package/dist-types/models/models_0.d.ts +379 -13
  31. package/dist-types/schemas/schemas_0.d.ts +15 -0
  32. package/package.json +2 -2
@@ -44,6 +44,61 @@ declare const UpdateAgentCommand_base: {
44
44
  * channels: { // AgentChannels
45
45
  * voice: { // VoiceChannelSettings
46
46
  * greeting: "STRING_VALUE",
47
+ * backgroundSound: "STRING_VALUE",
48
+ * speech: { // VoiceSpeechSettings
49
+ * provider: "elevenlabs" || "google" || "amazon_polly", // required
50
+ * languages: [ // VoiceLanguageList // required
51
+ * { // VoiceLanguage
52
+ * code: "STRING_VALUE", // required
53
+ * provider: "elevenlabs" || "google" || "amazon_polly",
54
+ * voice: "STRING_VALUE", // required
55
+ * greeting: "STRING_VALUE",
56
+ * isDefault: true || false,
57
+ * instructions: "STRING_VALUE",
58
+ * synthesis: { // VoiceSynthesisOptions
59
+ * model: "STRING_VALUE",
60
+ * speed: Number("float"),
61
+ * stability: Number("float"),
62
+ * similarity: Number("float"),
63
+ * style: Number("float"),
64
+ * speakerBoost: true || false,
65
+ * pitch: Number("float"),
66
+ * volumeGain: Number("float"),
67
+ * },
68
+ * credential: { // SecretRef
69
+ * id: "STRING_VALUE", // required
70
+ * },
71
+ * pronunciations: [ // VoicePronunciationList
72
+ * { // VoicePronunciation
73
+ * phrase: "STRING_VALUE", // required
74
+ * as: "STRING_VALUE", // required
75
+ * encoding: "alias" || "ipa",
76
+ * },
77
+ * ],
78
+ * pronunciationSuppressions: [ // VoicePronunciationSuppressionList
79
+ * "STRING_VALUE",
80
+ * ],
81
+ * },
82
+ * ],
83
+ * autoDetect: true || false,
84
+ * greetEveryLanguage: true || false,
85
+ * transcription: { // VoiceTranscriptionSettings
86
+ * vendor: "aws", // required
87
+ * },
88
+ * synthesis: {
89
+ * model: "STRING_VALUE",
90
+ * speed: Number("float"),
91
+ * stability: Number("float"),
92
+ * similarity: Number("float"),
93
+ * style: Number("float"),
94
+ * speakerBoost: true || false,
95
+ * pitch: Number("float"),
96
+ * volumeGain: Number("float"),
97
+ * },
98
+ * credential: {
99
+ * id: "STRING_VALUE", // required
100
+ * },
101
+ * },
47
102
  * interruptions: { // VoiceInterruptionSettings
48
103
  * enabled: true || false, // required
49
104
  * minWords: Number("int"),
@@ -370,9 +425,7 @@ declare const UpdateAgentCommand_base: {
370
425
  * sqs: { // AgentSqsEngine
371
426
  * url: "STRING_VALUE", // required
372
427
  * key: "STRING_VALUE", // required
373
- * secret: { // SecretRef
374
- * id: "STRING_VALUE", // required
375
- * },
428
+ * secret: "<SecretRef>", // required
376
429
  * },
377
430
  * },
378
431
  * settings: { // AgentSettings
@@ -394,6 +447,61 @@ declare const UpdateAgentCommand_base: {
394
447
  * // channels: { // AgentChannels
395
448
  * // voice: { // VoiceChannelSettings
396
449
  * // greeting: "STRING_VALUE",
450
+ * // backgroundSound: "STRING_VALUE",
451
+ * // speech: { // VoiceSpeechSettings
452
+ * // provider: "elevenlabs" || "google" || "amazon_polly", // required
453
+ * // languages: [ // VoiceLanguageList // required
454
+ * // { // VoiceLanguage
455
+ * // code: "STRING_VALUE", // required
456
+ * // provider: "elevenlabs" || "google" || "amazon_polly",
457
+ * // voice: "STRING_VALUE", // required
458
+ * // greeting: "STRING_VALUE",
459
+ * // isDefault: true || false,
460
+ * // instructions: "STRING_VALUE",
461
+ * // synthesis: { // VoiceSynthesisOptions
462
+ * // model: "STRING_VALUE",
463
+ * // speed: Number("float"),
464
+ * // stability: Number("float"),
465
+ * // similarity: Number("float"),
466
+ * // style: Number("float"),
467
+ * // speakerBoost: true || false,
468
+ * // pitch: Number("float"),
469
+ * // volumeGain: Number("float"),
470
+ * // },
471
+ * // credential: { // SecretRef
472
+ * // id: "STRING_VALUE", // required
473
+ * // },
474
+ * // pronunciations: [ // VoicePronunciationList
475
+ * // { // VoicePronunciation
476
+ * // phrase: "STRING_VALUE", // required
477
+ * // as: "STRING_VALUE", // required
478
+ * // encoding: "alias" || "ipa",
479
+ * // },
480
+ * // ],
481
+ * // pronunciationSuppressions: [ // VoicePronunciationSuppressionList
482
+ * // "STRING_VALUE",
483
+ * // ],
484
+ * // },
485
+ * // ],
486
+ * // autoDetect: true || false,
487
+ * // greetEveryLanguage: true || false,
488
+ * // transcription: { // VoiceTranscriptionSettings
489
+ * // vendor: "aws", // required
490
+ * // },
491
+ * // synthesis: {
492
+ * // model: "STRING_VALUE",
493
+ * // speed: Number("float"),
494
+ * // stability: Number("float"),
495
+ * // similarity: Number("float"),
496
+ * // style: Number("float"),
497
+ * // speakerBoost: true || false,
498
+ * // pitch: Number("float"),
499
+ * // volumeGain: Number("float"),
500
+ * // },
501
+ * // credential: {
502
+ * // id: "STRING_VALUE", // required
503
+ * // },
504
+ * // },
397
505
  * // interruptions: { // VoiceInterruptionSettings
398
506
  * // enabled: true || false, // required
399
507
  * // minWords: Number("int"),
@@ -720,9 +828,7 @@ declare const UpdateAgentCommand_base: {
720
828
  * // sqs: { // AgentSqsEngine
721
829
  * // url: "STRING_VALUE", // required
722
830
  * // key: "STRING_VALUE", // required
723
- * // secret: { // SecretRef
724
- * // id: "STRING_VALUE", // required
725
- * // },
831
+ * // secret: "<SecretRef>", // required
726
832
  * // },
727
833
  * // },
728
834
  * // settings: { // AgentSettings
@@ -3,6 +3,7 @@ export * from "./CreateAgentApiKeyCommand";
3
3
  export * from "./CreateAgentCommand";
4
4
  export * from "./DeleteAgentApiKeyCommand";
5
5
  export * from "./DeleteAgentCommand";
6
+ export * from "./DeletePronunciationDictionaryCommand";
6
7
  export * from "./GetAgentCommand";
7
8
  export * from "./GetAgentDeploymentCommand";
8
9
  export * from "./GetAgentVersionCommand";
@@ -10,8 +11,10 @@ export * from "./ListAgentApiKeysCommand";
10
11
  export * from "./ListAgentVersionsCommand";
11
12
  export * from "./ListAgentsCommand";
12
13
  export * from "./ListAgentsNamesCommand";
14
+ export * from "./ListPronunciationDictionariesCommand";
13
15
  export * from "./PublishAgentVersionCommand";
14
16
  export * from "./PutAgentDeploymentCommand";
17
+ export * from "./PutPronunciationDictionaryCommand";
15
18
  export * from "./ResetAgentDeploymentCommand";
16
19
  export * from "./RestoreAgentVersionToDraftCommand";
17
20
  export * from "./UpdateAgentCommand";
@@ -16,6 +16,48 @@ export declare const AgentVisibility: {
16
16
  * @public
17
17
  */
18
18
  export type AgentVisibility = (typeof AgentVisibility)[keyof typeof AgentVisibility];
19
+ /**
20
+ * @public
21
+ * @enum
22
+ */
23
+ export declare const VoicePronunciationEncoding: {
24
+ /**
25
+ * A respelling substituted into the text before it reaches the provider. The only encoding version 1 applies.
26
+ */
27
+ readonly ALIAS: "alias";
28
+ /**
29
+ * Phonetic transcription. Declared so IPA can be enabled per provider later; ignored by the runtime today.
30
+ */
31
+ readonly IPA: "ipa";
32
+ };
33
+ /**
34
+ * @public
35
+ */
36
+ export type VoicePronunciationEncoding = (typeof VoicePronunciationEncoding)[keyof typeof VoicePronunciationEncoding];
37
+ /**
38
+ * @public
39
+ * @enum
40
+ */
41
+ export declare const VoiceSpeechProvider: {
42
+ readonly AMAZON_POLLY: "amazon_polly";
43
+ readonly ELEVENLABS: "elevenlabs";
44
+ readonly GOOGLE: "google";
45
+ };
46
+ /**
47
+ * @public
48
+ */
49
+ export type VoiceSpeechProvider = (typeof VoiceSpeechProvider)[keyof typeof VoiceSpeechProvider];
50
+ /**
51
+ * @public
52
+ * @enum
53
+ */
54
+ export declare const VoiceTranscriptionVendor: {
55
+ readonly AWS: "aws";
56
+ };
57
+ /**
58
+ * @public
59
+ */
60
+ export type VoiceTranscriptionVendor = (typeof VoiceTranscriptionVendor)[keyof typeof VoiceTranscriptionVendor];
19
61
  /**
20
62
  * @public
21
63
  * @enum
@@ -1,5 +1,5 @@
1
1
  import type { DocumentType as __DocumentType } from "@smithy/types";
2
- import type { ActorType, AgentHandoverPipelineType, AgentHandoverVariant, AgentHangupPipelineType, AgentStatus, AgentToolPipelineType, AgentTransferPipelineType, AgentTransferVariant, AgentVariableType, AgentVisibility, ChannelType, SandboxNetworkAccess, SandboxSize, WebSearchContextSize } from "./enums";
2
+ import type { ActorType, AgentHandoverPipelineType, AgentHandoverVariant, AgentHangupPipelineType, AgentStatus, AgentToolPipelineType, AgentTransferPipelineType, AgentTransferVariant, AgentVariableType, AgentVisibility, ChannelType, SandboxNetworkAccess, SandboxSize, VoicePronunciationEncoding, VoiceSpeechProvider, VoiceTranscriptionVendor, WebSearchContextSize } from "./enums";
3
3
  /**
4
4
  * A user or group that access is granted to.
5
5
  * @public
@@ -218,6 +218,249 @@ export interface VoiceSilenceTimeoutSettings {
218
218
  seconds: number;
219
219
  action: VoiceTerminateAction;
220
220
  }
221
+ /**
222
+ * A reference to a stored secret, held by other services in place of the value.
223
+ * Resolved server-to-server via GetSecretValue at execution time — always to the current value.
224
+ * @public
225
+ */
226
+ export interface SecretRef {
227
+ /**
228
+ * Unique identifier of a secret.
229
+ * @public
230
+ */
231
+ id: string;
232
+ }
233
+ /**
234
+ * A pronunciation rule for one phrase. Belongs to a LANGUAGE, not to the agent: 'Wildix' is
235
+ * respelled differently for an Italian and a German voice. A dictionary shared ACROSS languages
236
+ * would fight itself, which is why the company dictionary is keyed by language too — see
237
+ * PronunciationDictionary.
238
+ * @public
239
+ */
240
+ export interface VoicePronunciation {
241
+ /**
242
+ * The phrase as it appears in the text, e.g. 'Wildix'. Bounded because every rule is compiled into ONE regular expression — see the list below.
243
+ * @public
244
+ */
245
+ phrase: string;
246
+ /**
247
+ * Respelling (ALIAS) or phonetic transcription (IPA), e.g. 'Wil-dix'.
248
+ * @public
249
+ */
250
+ as: string;
251
+ /**
252
+ * Defaults to ALIAS.
253
+ * @public
254
+ */
255
+ encoding?: VoicePronunciationEncoding | undefined;
256
+ }
257
+ /**
258
+ * Synthesis options, used at two levels: as provider-level defaults on VoiceSpeechSettings and as
259
+ * per-language overrides on VoiceLanguage. Absent means inherit; there is no way to express
260
+ * 'explicitly the same as the parent', which is the intended simplification — the merged result is
261
+ * identical either way. Which members apply is a property of the provider AND the model (Chirp 3:
262
+ * HD documents only speakingRate; eleven_v3 carries no stability, similarity or speaker boost), so
263
+ * the console renders them from a catalog rather than unconditionally.
264
+ * @public
265
+ */
266
+ export interface VoiceSynthesisOptions {
267
+ /**
268
+ * Provider model id, e.g. 'eleven_flash_v2_5'.
269
+ * @public
270
+ */
271
+ model?: string | undefined;
272
+ /**
273
+ * Speaking rate. ElevenLabs 0.7-1.2 (default 1.0); Google 0.25-2.0 (default 1.0).
274
+ * @public
275
+ */
276
+ speed?: number | undefined;
277
+ /**
278
+ * ElevenLabs stability, 0-1 (default 0.5). Our clamp, not a vendor-stated bound.
279
+ * @public
280
+ */
281
+ stability?: number | undefined;
282
+ /**
283
+ * ElevenLabs similarity boost, 0-1 (default 0.75). Our clamp.
284
+ * @public
285
+ */
286
+ similarity?: number | undefined;
287
+ /**
288
+ * ElevenLabs style exaggeration, 0-1 (default 0). Our clamp.
289
+ * @public
290
+ */
291
+ style?: number | undefined;
292
+ /**
293
+ * ElevenLabs speaker boost (default true).
294
+ * @public
295
+ */
296
+ speakerBoost?: boolean | undefined;
297
+ /**
298
+ * Google pitch in semitones, -20 to 20. Not offered for Chirp 3: HD voices.
299
+ * @public
300
+ */
301
+ pitch?: number | undefined;
302
+ /**
303
+ * Google volume gain in dB, -96 to 16 (default 0); the vendor recommends staying under +10. Not offered for Chirp 3: HD voices.
304
+ * @public
305
+ */
306
+ volumeGain?: number | undefined;
307
+ }
308
+ /**
309
+ * One configured language: its voice, its initial phrase and its overrides.
310
+ * @public
311
+ */
312
+ export interface VoiceLanguage {
313
+ /**
314
+ * BCP-47 code with locale, e.g. 'en-US', 'it-IT'.
315
+ * @public
316
+ */
317
+ code: string;
318
+ /**
319
+ * Text-to-speech provider for THIS language. Absent falls back to
320
+ * VoiceSpeechSettings.provider, which is what records written before this member
321
+ * existed rely on. The console writes it on every language it creates.
322
+ *
323
+ * Per language rather than per bot because provider quality is not uniform across
324
+ * languages, and because a single bot-wide provider made changing it invalidate
325
+ * every configured voice at once: a voice id belongs to one provider, so switching
326
+ * the bot meant reselecting a speaker for every language.
327
+ * @public
328
+ */
329
+ provider?: VoiceSpeechProvider | undefined;
330
+ /**
331
+ * Provider voice id (ElevenLabs voice_id, Google voice name, Polly Id).
332
+ * @public
333
+ */
334
+ voice: string;
335
+ /**
336
+ * Initial phrase spoken when the call starts in this language. Absent or empty means
337
+ * the agent says nothing and waits — it does NOT fall back to VoiceChannelSettings.greeting,
338
+ * which would speak one language's text in another language's voice.
339
+ * @public
340
+ */
341
+ greeting?: string | undefined;
342
+ /**
343
+ * Marks the language a caller hears when their own matches nothing configured.
344
+ *
345
+ * THE FULL RESOLUTION ORDER, since a client author reading only this contract cannot
346
+ * otherwise find it: an exact match on the call's language, then a match on its primary
347
+ * subtag (`fr` finds `fr-FR`), then the language marked here, then a language whose
348
+ * primary subtag is `en`, then the first entry in the list.
349
+ *
350
+ * Marked is consulted BEFORE the English step, so a record with none marked resolves
351
+ * exactly as it did before this member existed. English is deliberate rather than
352
+ * arbitrary — it is the language a caller the agent was not built for is likeliest to
353
+ * understand — and the last step exists only to keep the rule total, which is why list
354
+ * order should not be treated as configuration.
355
+ *
356
+ * At most one language may carry it. A record with two — reachable through the API or
357
+ * the CLI, where no form prevents it — resolves to the first marked one in list order,
358
+ * because refusing a call over configuration drift is worse than serving it and saying
359
+ * so in the trace.
360
+ * @public
361
+ */
362
+ isDefault?: boolean | undefined;
363
+ /**
364
+ * Extra instructions active only while the conversation runs in this language.
365
+ * @public
366
+ */
367
+ instructions?: string | undefined;
368
+ /**
369
+ * Overrides VoiceSpeechSettings.synthesis member by member.
370
+ * @public
371
+ */
372
+ synthesis?: VoiceSynthesisOptions | undefined;
373
+ /**
374
+ * The company's own credential for THIS language's provider (secret variant
375
+ * `auth_bearer`). Absent falls back to VoiceSpeechSettings.credential, then to the
376
+ * platform key.
377
+ *
378
+ * It lives beside the provider because a credential belongs to one: a company's
379
+ * ElevenLabs key cannot serve a language synthesized by Google, and a single
380
+ * bot-wide credential would have been silently inapplicable to some languages.
381
+ * @public
382
+ */
383
+ credential?: SecretRef | undefined;
384
+ /**
385
+ * This agent's OWN rules for this language. A rule whose phrase also exists in the
386
+ * company dictionary replaces it; a rule whose phrase does not is simply an addition —
387
+ * the two are the same member because they are the same act.
388
+ * @public
389
+ */
390
+ pronunciations?: VoicePronunciation[] | undefined;
391
+ /**
392
+ * Company-dictionary phrases this agent declines. See VoicePronunciationSuppressionList.
393
+ * @public
394
+ */
395
+ pronunciationSuppressions?: string[] | undefined;
396
+ }
397
+ /**
398
+ * Speech-to-text configuration. Vendor-specific recognition options — term hints, custom
399
+ * vocabulary — land here alongside the vendors that take them; nothing writes them today.
400
+ * @public
401
+ */
402
+ export interface VoiceTranscriptionSettings {
403
+ /**
404
+ * Recognition vendor. Absent resolves to the platform default (`aws` today), resolved by the server so exactly one component decides it.
405
+ * @public
406
+ */
407
+ vendor: VoiceTranscriptionVendor;
408
+ }
409
+ /**
410
+ * Speech configuration for the voice channel. When present it WINS over the dialplan's `voice` and
411
+ * `initialMessage` connect parameters; `language` is the single exception, because it is the
412
+ * channel's own input signal and the feature has no starting point without it.
413
+ * @public
414
+ */
415
+ export interface VoiceSpeechSettings {
416
+ /**
417
+ * DEFAULT text-to-speech provider, used by a language that names none of its own.
418
+ * Still required, so a record always answers 'which provider' — but the console now
419
+ * writes `provider` on every language, so this is what pre-existing records and API
420
+ * callers fall back to rather than the primary control.
421
+ * @public
422
+ */
423
+ provider: VoiceSpeechProvider;
424
+ /**
425
+ * Configured languages. The @length bound is a STORAGE ceiling, not the product rule: the real
426
+ * cap is the selected transcription vendor's `maxCandidates` (five for Amazon Transcribe),
427
+ * enforced in the service from its catalog so a vendor with a different limit needs no model
428
+ * change.
429
+ * @public
430
+ */
431
+ languages: VoiceLanguage[];
432
+ /**
433
+ * Identify the caller's language automatically and switch voice and reply language mid-call. Requires at least two languages and a vendor that can identify languages; the server clamps it to false otherwise.
434
+ * @public
435
+ */
436
+ autoDetect?: boolean | undefined;
437
+ /**
438
+ * Speak the first message of every configured language in turn when the call is answered, each
439
+ * in the voice, provider account and pronunciation rules of its own language, instead of only the
440
+ * language the call resolved to. Languages whose first message is empty, and languages the PBX
441
+ * synthesizes itself, are skipped. Absent means off. Requires at least two languages carrying a
442
+ * first message; below that the runtime speaks only the resolved language's phrase, and the
443
+ * console clamps the member on save.
444
+ * @public
445
+ */
446
+ greetEveryLanguage?: boolean | undefined;
447
+ /**
448
+ * Speech-to-text configuration. Vendor-specific recognition options — term hints, custom
449
+ * vocabulary — land here alongside the vendors that take them; nothing writes them today.
450
+ * @public
451
+ */
452
+ transcription?: VoiceTranscriptionSettings | undefined;
453
+ /**
454
+ * Provider-level synthesis defaults, inherited by every language.
455
+ * @public
456
+ */
457
+ synthesis?: VoiceSynthesisOptions | undefined;
458
+ /**
459
+ * The company's own provider credential (secret variant `auth_bearer`). Absent means the platform key. Has no counterpart in wim-voicebots — a deliberate parity gap.
460
+ * @public
461
+ */
462
+ credential?: SecretRef | undefined;
463
+ }
221
464
  /**
222
465
  * Voice channel settings. Note: a voice agent's AgentAccess.grants are ignored — inbound calls are routed by the PBX dialplan and data ACL is the agent-level `settings.pbxGroupId`, not per-user grants.
223
466
  * @public
@@ -228,6 +471,25 @@ export interface VoiceChannelSettings {
228
471
  * @public
229
472
  */
230
473
  greeting?: string | undefined;
474
+ /**
475
+ * Ambient background played under the call, as a music-on-hold class name.
476
+ *
477
+ * ABSENT MEANS OFF. There is no value meaning 'none': the member is simply not sent, which is
478
+ * exactly the state every call was in before this setting existed, so a bot that never touches
479
+ * it behaves as it always did and the PBX needs no new case.
480
+ *
481
+ * It belongs to the CHANNEL rather than to `speech`, even though the console shows the control
482
+ * under the automatic-language switch. `speech` is the recognition and synthesis
483
+ * configuration and is sent only when languages are configured — background audio has nothing
484
+ * to do with either, and a bot with no languages must still be able to have it.
485
+ * @public
486
+ */
487
+ backgroundSound?: string | undefined;
488
+ /**
489
+ * Provider, languages, voices, initial phrases and pronunciation. Absent means the legacy behavior: voice URI from the dialplan connect parameter, one voice, language as prompt context only.
490
+ * @public
491
+ */
492
+ speech?: VoiceSpeechSettings | undefined;
231
493
  interruptions?: VoiceInterruptionSettings | undefined;
232
494
  silenceTimeout?: VoiceSilenceTimeoutSettings | undefined;
233
495
  maxDuration?: VoiceMaxDurationSettings | undefined;
@@ -1391,18 +1653,6 @@ export interface AgentAiEngine {
1391
1653
  capabilities?: AgentCapability[] | undefined;
1392
1654
  variables?: AgentVariable[] | undefined;
1393
1655
  }
1394
- /**
1395
- * A reference to a stored secret, held by other services in place of the value.
1396
- * Resolved server-to-server via GetSecretValue at execution time — always to the current value.
1397
- * @public
1398
- */
1399
- export interface SecretRef {
1400
- /**
1401
- * Unique identifier of a secret.
1402
- * @public
1403
- */
1404
- id: string;
1405
- }
1406
1656
  /**
1407
1657
  * Bring-your-own backend over SQS: turns are forwarded to the queue, replies are posted back via the API.
1408
1658
  * @public
@@ -1668,6 +1918,11 @@ export interface AgentInfo {
1668
1918
  * @public
1669
1919
  */
1670
1920
  channels: ChannelType[];
1921
+ /**
1922
+ * Whether the agent's voice channel has at least one configured speech language. A dialplan form partitions its application lists on this, so the answer has to travel with the list rather than cost one lookup per entry. Absent is read as false.
1923
+ * @public
1924
+ */
1925
+ speechConfigured?: boolean | undefined;
1671
1926
  /**
1672
1927
  * Published agent version number. Monotonic within an agent's version history, starting at 1.
1673
1928
  * @public
@@ -1902,6 +2157,25 @@ export interface DeleteAgentApiKeyInput {
1902
2157
  */
1903
2158
  export interface DeleteAgentApiKeyOutput {
1904
2159
  }
2160
+ /**
2161
+ * @public
2162
+ */
2163
+ export interface DeletePronunciationDictionaryInput {
2164
+ company?: string | undefined;
2165
+ /**
2166
+ * BCP-47 language tag, optionally with a region subtag: 'en', 'en-US', 'pt-BR'. Deliberately a
2167
+ * constrained string rather than an enum: the offerable set is a property of the selected
2168
+ * transcription vendor and changes with it, so an enumeration here would cap the set at whatever
2169
+ * was known when the model was released.
2170
+ * @public
2171
+ */
2172
+ code: string;
2173
+ }
2174
+ /**
2175
+ * @public
2176
+ */
2177
+ export interface DeletePronunciationDictionaryOutput {
2178
+ }
1905
2179
  /**
1906
2180
  * @public
1907
2181
  */
@@ -2042,6 +2316,57 @@ export interface ListAgentVersionsOutput {
2042
2316
  */
2043
2317
  nextCursor?: string | undefined;
2044
2318
  }
2319
+ /**
2320
+ * @public
2321
+ */
2322
+ export interface ListPronunciationDictionariesInput {
2323
+ company?: string | undefined;
2324
+ }
2325
+ /**
2326
+ * Every pronunciation rule a company has written for one language.
2327
+ * @public
2328
+ */
2329
+ export interface PronunciationDictionary {
2330
+ id: string;
2331
+ /**
2332
+ * BCP-47 code with locale, e.g. 'en-US'. Unique per company — this is the link.
2333
+ * @public
2334
+ */
2335
+ code: string;
2336
+ /**
2337
+ * Pronunciation rules for one language.
2338
+ *
2339
+ * BOUNDED, and the bound is not decoration. Both runtimes compile every rule of a language into
2340
+ * a SINGLE alternating regular expression, so the cost is the pattern's total size: measured
2341
+ * against the real escaping and matching logic, 1,000 rules cost ~0.9 s of CPU per synthesized
2342
+ * sentence, 5,000 cost ~4.9 s, and around 10,000 `new RegExp` throws V8's pattern-size error.
2343
+ *
2344
+ * 200 is far above any real use — a product glossary is a handful of names — and far below where
2345
+ * either cost begins. Found by a security review.
2346
+ * NO LOWER BOUND on `phrase` or `as`, deliberately. Both consoles add an EMPTY rule row the
2347
+ * moment someone clicks 'Add pronunciation', so a `min: 1` would make saving an agent with a
2348
+ * half-typed row fail entirely — and the runtime already ignores a rule with no phrase. Dropping
2349
+ * blank rows belongs in the consoles' save filters, not in a refusal here.
2350
+ * @public
2351
+ */
2352
+ rules: VoicePronunciation[];
2353
+ /**
2354
+ * ISO-8601 timestamp with millisecond precision, e.g. '2026-07-10T14:12:30.123Z'.
2355
+ * @public
2356
+ */
2357
+ updatedAt: string;
2358
+ /**
2359
+ * Who performed an action: an interactive user, an API key or an internal service.
2360
+ * @public
2361
+ */
2362
+ updatedBy: Actor;
2363
+ }
2364
+ /**
2365
+ * @public
2366
+ */
2367
+ export interface ListPronunciationDictionariesOutput {
2368
+ dictionaries: PronunciationDictionary[];
2369
+ }
2045
2370
  /**
2046
2371
  * @public
2047
2372
  */
@@ -2092,6 +2417,47 @@ export interface PutAgentDeploymentOutput {
2092
2417
  */
2093
2418
  deployment: AgentDeploymentRoute[];
2094
2419
  }
2420
+ /**
2421
+ * @public
2422
+ */
2423
+ export interface PutPronunciationDictionaryInput {
2424
+ company?: string | undefined;
2425
+ /**
2426
+ * BCP-47 language tag, optionally with a region subtag: 'en', 'en-US', 'pt-BR'. Deliberately a
2427
+ * constrained string rather than an enum: the offerable set is a property of the selected
2428
+ * transcription vendor and changes with it, so an enumeration here would cap the set at whatever
2429
+ * was known when the model was released.
2430
+ * @public
2431
+ */
2432
+ code: string;
2433
+ /**
2434
+ * Pronunciation rules for one language.
2435
+ *
2436
+ * BOUNDED, and the bound is not decoration. Both runtimes compile every rule of a language into
2437
+ * a SINGLE alternating regular expression, so the cost is the pattern's total size: measured
2438
+ * against the real escaping and matching logic, 1,000 rules cost ~0.9 s of CPU per synthesized
2439
+ * sentence, 5,000 cost ~4.9 s, and around 10,000 `new RegExp` throws V8's pattern-size error.
2440
+ *
2441
+ * 200 is far above any real use — a product glossary is a handful of names — and far below where
2442
+ * either cost begins. Found by a security review.
2443
+ * NO LOWER BOUND on `phrase` or `as`, deliberately. Both consoles add an EMPTY rule row the
2444
+ * moment someone clicks 'Add pronunciation', so a `min: 1` would make saving an agent with a
2445
+ * half-typed row fail entirely — and the runtime already ignores a rule with no phrase. Dropping
2446
+ * blank rows belongs in the consoles' save filters, not in a refusal here.
2447
+ * @public
2448
+ */
2449
+ rules: VoicePronunciation[];
2450
+ }
2451
+ /**
2452
+ * @public
2453
+ */
2454
+ export interface PutPronunciationDictionaryOutput {
2455
+ /**
2456
+ * Every pronunciation rule a company has written for one language.
2457
+ * @public
2458
+ */
2459
+ dictionary: PronunciationDictionary;
2460
+ }
2095
2461
  /**
2096
2462
  * @public
2097
2463
  */