telnyx 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +3 -173
  5. data/lib/telnyx/models/ai/assistant_update_params.rb +3 -173
  6. data/lib/telnyx/models/ai/assistants/update_assistant.rb +3 -175
  7. data/lib/telnyx/models/ai/audio_visualizer_config.rb +43 -0
  8. data/lib/telnyx/models/ai/inference_embedding.rb +3 -173
  9. data/lib/telnyx/models/ai/widget_settings.rb +138 -0
  10. data/lib/telnyx/models/connection_noise_suppression_details.rb +61 -0
  11. data/lib/telnyx/models/credential_connection.rb +3 -61
  12. data/lib/telnyx/models/credential_connection_create_params.rb +3 -61
  13. data/lib/telnyx/models/credential_connection_update_params.rb +3 -61
  14. data/lib/telnyx/models/fqdn_connection.rb +3 -60
  15. data/lib/telnyx/models/fqdn_connection_create_params.rb +3 -60
  16. data/lib/telnyx/models/fqdn_connection_update_params.rb +3 -60
  17. data/lib/telnyx/models/ip_connection.rb +3 -60
  18. data/lib/telnyx/models/ip_connection_create_params.rb +3 -60
  19. data/lib/telnyx/models/ip_connection_update_params.rb +3 -60
  20. data/lib/telnyx/models/organizations/user_get_groups_report_response.rb +3 -25
  21. data/lib/telnyx/models/organizations/user_group_reference.rb +28 -0
  22. data/lib/telnyx/models/organizations/user_list_response.rb +3 -25
  23. data/lib/telnyx/models/organizations/user_retrieve_response.rb +3 -25
  24. data/lib/telnyx/models/organizations/users/action_remove_response.rb +3 -25
  25. data/lib/telnyx/models.rb +2 -0
  26. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  27. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  28. data/lib/telnyx/resources/credential_connections.rb +2 -2
  29. data/lib/telnyx/resources/fqdn_connections.rb +2 -2
  30. data/lib/telnyx/resources/ip_connections.rb +2 -2
  31. data/lib/telnyx/version.rb +1 -1
  32. data/lib/telnyx.rb +4 -0
  33. data/rbi/telnyx/models/ai/assistant_create_params.rbi +4 -422
  34. data/rbi/telnyx/models/ai/assistant_update_params.rbi +4 -422
  35. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +4 -422
  36. data/rbi/telnyx/models/ai/audio_visualizer_config.rbi +107 -0
  37. data/rbi/telnyx/models/ai/inference_embedding.rbi +4 -421
  38. data/rbi/telnyx/models/ai/widget_settings.rbi +225 -0
  39. data/rbi/telnyx/models/connection_noise_suppression_details.rbi +141 -0
  40. data/rbi/telnyx/models/credential_connection.rbi +4 -152
  41. data/rbi/telnyx/models/credential_connection_create_params.rbi +4 -154
  42. data/rbi/telnyx/models/credential_connection_update_params.rbi +4 -154
  43. data/rbi/telnyx/models/fqdn_connection.rbi +4 -150
  44. data/rbi/telnyx/models/fqdn_connection_create_params.rbi +4 -152
  45. data/rbi/telnyx/models/fqdn_connection_update_params.rbi +4 -152
  46. data/rbi/telnyx/models/ip_connection.rbi +4 -148
  47. data/rbi/telnyx/models/ip_connection_create_params.rbi +4 -152
  48. data/rbi/telnyx/models/ip_connection_update_params.rbi +4 -152
  49. data/rbi/telnyx/models/organizations/user_get_groups_report_response.rbi +3 -46
  50. data/rbi/telnyx/models/organizations/user_group_reference.rbi +39 -0
  51. data/rbi/telnyx/models/organizations/user_list_response.rbi +4 -47
  52. data/rbi/telnyx/models/organizations/user_retrieve_response.rbi +4 -47
  53. data/rbi/telnyx/models/organizations/users/action_remove_response.rbi +4 -47
  54. data/rbi/telnyx/models.rbi +3 -0
  55. data/rbi/telnyx/resources/ai/assistants/versions.rbi +1 -2
  56. data/rbi/telnyx/resources/ai/assistants.rbi +2 -4
  57. data/rbi/telnyx/resources/credential_connections.rbi +2 -2
  58. data/rbi/telnyx/resources/fqdn_connections.rbi +2 -2
  59. data/rbi/telnyx/resources/ip_connections.rbi +2 -2
  60. data/sig/telnyx/models/ai/assistant_create_params.rbs +6 -172
  61. data/sig/telnyx/models/ai/assistant_update_params.rbs +6 -172
  62. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +6 -172
  63. data/sig/telnyx/models/ai/audio_visualizer_config.rbs +48 -0
  64. data/sig/telnyx/models/ai/inference_embedding.rbs +6 -172
  65. data/sig/telnyx/models/ai/widget_settings.rbs +127 -0
  66. data/sig/telnyx/models/connection_noise_suppression_details.rbs +54 -0
  67. data/sig/telnyx/models/credential_connection.rbs +6 -57
  68. data/sig/telnyx/models/credential_connection_create_params.rbs +6 -57
  69. data/sig/telnyx/models/credential_connection_update_params.rbs +6 -57
  70. data/sig/telnyx/models/fqdn_connection.rbs +6 -57
  71. data/sig/telnyx/models/fqdn_connection_create_params.rbs +6 -57
  72. data/sig/telnyx/models/fqdn_connection_update_params.rbs +6 -57
  73. data/sig/telnyx/models/ip_connection.rbs +6 -57
  74. data/sig/telnyx/models/ip_connection_create_params.rbs +6 -57
  75. data/sig/telnyx/models/ip_connection_update_params.rbs +6 -57
  76. data/sig/telnyx/models/organizations/user_get_groups_report_response.rbs +4 -16
  77. data/sig/telnyx/models/organizations/user_group_reference.rbs +17 -0
  78. data/sig/telnyx/models/organizations/user_list_response.rbs +6 -18
  79. data/sig/telnyx/models/organizations/user_retrieve_response.rbs +6 -18
  80. data/sig/telnyx/models/organizations/users/action_remove_response.rbs +6 -18
  81. data/sig/telnyx/models.rbs +2 -0
  82. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -1
  83. data/sig/telnyx/resources/ai/assistants.rbs +2 -2
  84. data/sig/telnyx/resources/credential_connections.rbs +2 -2
  85. data/sig/telnyx/resources/fqdn_connections.rbs +2 -2
  86. data/sig/telnyx/resources/ip_connections.rbs +2 -2
  87. metadata +13 -1
@@ -168,17 +168,10 @@ module Telnyx
168
168
  attr_writer :voice_settings
169
169
 
170
170
  # Configuration settings for the assistant's web widget.
171
- sig do
172
- returns(T.nilable(Telnyx::AI::InferenceEmbedding::WidgetSettings))
173
- end
171
+ sig { returns(T.nilable(Telnyx::AI::WidgetSettings)) }
174
172
  attr_reader :widget_settings
175
173
 
176
- sig do
177
- params(
178
- widget_settings:
179
- Telnyx::AI::InferenceEmbedding::WidgetSettings::OrHash
180
- ).void
181
- end
174
+ sig { params(widget_settings: Telnyx::AI::WidgetSettings::OrHash).void }
182
175
  attr_writer :widget_settings
183
176
 
184
177
  sig do
@@ -214,8 +207,7 @@ module Telnyx
214
207
  ],
215
208
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
216
209
  voice_settings: Telnyx::AI::VoiceSettings::OrHash,
217
- widget_settings:
218
- Telnyx::AI::InferenceEmbedding::WidgetSettings::OrHash
210
+ widget_settings: Telnyx::AI::WidgetSettings::OrHash
219
211
  ).returns(T.attached_class)
220
212
  end
221
213
  def self.new(
@@ -289,421 +281,12 @@ module Telnyx
289
281
  tools: T::Array[Telnyx::AI::AssistantTool::Variants],
290
282
  transcription: Telnyx::AI::TranscriptionSettings,
291
283
  voice_settings: Telnyx::AI::VoiceSettings,
292
- widget_settings: Telnyx::AI::InferenceEmbedding::WidgetSettings
284
+ widget_settings: Telnyx::AI::WidgetSettings
293
285
  }
294
286
  )
295
287
  end
296
288
  def to_hash
297
289
  end
298
-
299
- class WidgetSettings < Telnyx::Internal::Type::BaseModel
300
- OrHash =
301
- T.type_alias do
302
- T.any(
303
- Telnyx::AI::InferenceEmbedding::WidgetSettings,
304
- Telnyx::Internal::AnyHash
305
- )
306
- end
307
-
308
- # Text displayed while the agent is processing.
309
- sig { returns(T.nilable(String)) }
310
- attr_reader :agent_thinking_text
311
-
312
- sig { params(agent_thinking_text: String).void }
313
- attr_writer :agent_thinking_text
314
-
315
- sig do
316
- returns(
317
- T.nilable(
318
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig
319
- )
320
- )
321
- end
322
- attr_reader :audio_visualizer_config
323
-
324
- sig do
325
- params(
326
- audio_visualizer_config:
327
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::OrHash
328
- ).void
329
- end
330
- attr_writer :audio_visualizer_config
331
-
332
- # The default state of the widget.
333
- sig do
334
- returns(
335
- T.nilable(
336
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
337
- )
338
- )
339
- end
340
- attr_reader :default_state
341
-
342
- sig do
343
- params(
344
- default_state:
345
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::OrSymbol
346
- ).void
347
- end
348
- attr_writer :default_state
349
-
350
- # URL for users to give feedback.
351
- sig { returns(T.nilable(String)) }
352
- attr_accessor :give_feedback_url
353
-
354
- # URL to a custom logo icon for the widget.
355
- sig { returns(T.nilable(String)) }
356
- attr_accessor :logo_icon_url
357
-
358
- # The positioning style for the widget.
359
- sig do
360
- returns(
361
- T.nilable(
362
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
363
- )
364
- )
365
- end
366
- attr_reader :position
367
-
368
- sig do
369
- params(
370
- position:
371
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::OrSymbol
372
- ).void
373
- end
374
- attr_writer :position
375
-
376
- # URL for users to report issues.
377
- sig { returns(T.nilable(String)) }
378
- attr_accessor :report_issue_url
379
-
380
- # Text prompting users to speak to interrupt.
381
- sig { returns(T.nilable(String)) }
382
- attr_reader :speak_to_interrupt_text
383
-
384
- sig { params(speak_to_interrupt_text: String).void }
385
- attr_writer :speak_to_interrupt_text
386
-
387
- # Custom text displayed on the start call button.
388
- sig { returns(T.nilable(String)) }
389
- attr_reader :start_call_text
390
-
391
- sig { params(start_call_text: String).void }
392
- attr_writer :start_call_text
393
-
394
- # The visual theme for the widget.
395
- sig do
396
- returns(
397
- T.nilable(
398
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
399
- )
400
- )
401
- end
402
- attr_reader :theme
403
-
404
- sig do
405
- params(
406
- theme:
407
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::OrSymbol
408
- ).void
409
- end
410
- attr_writer :theme
411
-
412
- # URL to view conversation history.
413
- sig { returns(T.nilable(String)) }
414
- attr_accessor :view_history_url
415
-
416
- # Configuration settings for the assistant's web widget.
417
- sig do
418
- params(
419
- agent_thinking_text: String,
420
- audio_visualizer_config:
421
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::OrHash,
422
- default_state:
423
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::OrSymbol,
424
- give_feedback_url: T.nilable(String),
425
- logo_icon_url: T.nilable(String),
426
- position:
427
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::OrSymbol,
428
- report_issue_url: T.nilable(String),
429
- speak_to_interrupt_text: String,
430
- start_call_text: String,
431
- theme:
432
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::OrSymbol,
433
- view_history_url: T.nilable(String)
434
- ).returns(T.attached_class)
435
- end
436
- def self.new(
437
- # Text displayed while the agent is processing.
438
- agent_thinking_text: nil,
439
- audio_visualizer_config: nil,
440
- # The default state of the widget.
441
- default_state: nil,
442
- # URL for users to give feedback.
443
- give_feedback_url: nil,
444
- # URL to a custom logo icon for the widget.
445
- logo_icon_url: nil,
446
- # The positioning style for the widget.
447
- position: nil,
448
- # URL for users to report issues.
449
- report_issue_url: nil,
450
- # Text prompting users to speak to interrupt.
451
- speak_to_interrupt_text: nil,
452
- # Custom text displayed on the start call button.
453
- start_call_text: nil,
454
- # The visual theme for the widget.
455
- theme: nil,
456
- # URL to view conversation history.
457
- view_history_url: nil
458
- )
459
- end
460
-
461
- sig do
462
- override.returns(
463
- {
464
- agent_thinking_text: String,
465
- audio_visualizer_config:
466
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig,
467
- default_state:
468
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol,
469
- give_feedback_url: T.nilable(String),
470
- logo_icon_url: T.nilable(String),
471
- position:
472
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol,
473
- report_issue_url: T.nilable(String),
474
- speak_to_interrupt_text: String,
475
- start_call_text: String,
476
- theme:
477
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol,
478
- view_history_url: T.nilable(String)
479
- }
480
- )
481
- end
482
- def to_hash
483
- end
484
-
485
- class AudioVisualizerConfig < Telnyx::Internal::Type::BaseModel
486
- OrHash =
487
- T.type_alias do
488
- T.any(
489
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig,
490
- Telnyx::Internal::AnyHash
491
- )
492
- end
493
-
494
- # The color theme for the audio visualizer.
495
- sig do
496
- returns(
497
- T.nilable(
498
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
499
- )
500
- )
501
- end
502
- attr_reader :color
503
-
504
- sig do
505
- params(
506
- color:
507
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol
508
- ).void
509
- end
510
- attr_writer :color
511
-
512
- # The preset style for the audio visualizer.
513
- sig { returns(T.nilable(String)) }
514
- attr_reader :preset
515
-
516
- sig { params(preset: String).void }
517
- attr_writer :preset
518
-
519
- sig do
520
- params(
521
- color:
522
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol,
523
- preset: String
524
- ).returns(T.attached_class)
525
- end
526
- def self.new(
527
- # The color theme for the audio visualizer.
528
- color: nil,
529
- # The preset style for the audio visualizer.
530
- preset: nil
531
- )
532
- end
533
-
534
- sig do
535
- override.returns(
536
- {
537
- color:
538
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol,
539
- preset: String
540
- }
541
- )
542
- end
543
- def to_hash
544
- end
545
-
546
- # The color theme for the audio visualizer.
547
- module Color
548
- extend Telnyx::Internal::Type::Enum
549
-
550
- TaggedSymbol =
551
- T.type_alias do
552
- T.all(
553
- Symbol,
554
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color
555
- )
556
- end
557
- OrSymbol = T.type_alias { T.any(Symbol, String) }
558
-
559
- VERDANT =
560
- T.let(
561
- :verdant,
562
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
563
- )
564
- TWILIGHT =
565
- T.let(
566
- :twilight,
567
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
568
- )
569
- BLOOM =
570
- T.let(
571
- :bloom,
572
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
573
- )
574
- MYSTIC =
575
- T.let(
576
- :mystic,
577
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
578
- )
579
- FLARE =
580
- T.let(
581
- :flare,
582
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
583
- )
584
- GLACIER =
585
- T.let(
586
- :glacier,
587
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
588
- )
589
-
590
- sig do
591
- override.returns(
592
- T::Array[
593
- Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
594
- ]
595
- )
596
- end
597
- def self.values
598
- end
599
- end
600
- end
601
-
602
- # The default state of the widget.
603
- module DefaultState
604
- extend Telnyx::Internal::Type::Enum
605
-
606
- TaggedSymbol =
607
- T.type_alias do
608
- T.all(
609
- Symbol,
610
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState
611
- )
612
- end
613
- OrSymbol = T.type_alias { T.any(Symbol, String) }
614
-
615
- EXPANDED =
616
- T.let(
617
- :expanded,
618
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
619
- )
620
- COLLAPSED =
621
- T.let(
622
- :collapsed,
623
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
624
- )
625
-
626
- sig do
627
- override.returns(
628
- T::Array[
629
- Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
630
- ]
631
- )
632
- end
633
- def self.values
634
- end
635
- end
636
-
637
- # The positioning style for the widget.
638
- module Position
639
- extend Telnyx::Internal::Type::Enum
640
-
641
- TaggedSymbol =
642
- T.type_alias do
643
- T.all(
644
- Symbol,
645
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position
646
- )
647
- end
648
- OrSymbol = T.type_alias { T.any(Symbol, String) }
649
-
650
- FIXED =
651
- T.let(
652
- :fixed,
653
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
654
- )
655
- STATIC =
656
- T.let(
657
- :static,
658
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
659
- )
660
-
661
- sig do
662
- override.returns(
663
- T::Array[
664
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
665
- ]
666
- )
667
- end
668
- def self.values
669
- end
670
- end
671
-
672
- # The visual theme for the widget.
673
- module Theme
674
- extend Telnyx::Internal::Type::Enum
675
-
676
- TaggedSymbol =
677
- T.type_alias do
678
- T.all(
679
- Symbol,
680
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme
681
- )
682
- end
683
- OrSymbol = T.type_alias { T.any(Symbol, String) }
684
-
685
- LIGHT =
686
- T.let(
687
- :light,
688
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
689
- )
690
- DARK =
691
- T.let(
692
- :dark,
693
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
694
- )
695
-
696
- sig do
697
- override.returns(
698
- T::Array[
699
- Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
700
- ]
701
- )
702
- end
703
- def self.values
704
- end
705
- end
706
- end
707
290
  end
708
291
  end
709
292
  end
@@ -0,0 +1,225 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class WidgetSettings < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::WidgetSettings, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Text displayed while the agent is processing.
13
+ sig { returns(T.nilable(String)) }
14
+ attr_reader :agent_thinking_text
15
+
16
+ sig { params(agent_thinking_text: String).void }
17
+ attr_writer :agent_thinking_text
18
+
19
+ sig { returns(T.nilable(Telnyx::AI::AudioVisualizerConfig)) }
20
+ attr_reader :audio_visualizer_config
21
+
22
+ sig do
23
+ params(
24
+ audio_visualizer_config: Telnyx::AI::AudioVisualizerConfig::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :audio_visualizer_config
28
+
29
+ # The default state of the widget.
30
+ sig do
31
+ returns(T.nilable(Telnyx::AI::WidgetSettings::DefaultState::OrSymbol))
32
+ end
33
+ attr_reader :default_state
34
+
35
+ sig do
36
+ params(
37
+ default_state: Telnyx::AI::WidgetSettings::DefaultState::OrSymbol
38
+ ).void
39
+ end
40
+ attr_writer :default_state
41
+
42
+ # URL for users to give feedback.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_accessor :give_feedback_url
45
+
46
+ # URL to a custom logo icon for the widget.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :logo_icon_url
49
+
50
+ # The positioning style for the widget.
51
+ sig do
52
+ returns(T.nilable(Telnyx::AI::WidgetSettings::Position::OrSymbol))
53
+ end
54
+ attr_reader :position
55
+
56
+ sig do
57
+ params(position: Telnyx::AI::WidgetSettings::Position::OrSymbol).void
58
+ end
59
+ attr_writer :position
60
+
61
+ # URL for users to report issues.
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :report_issue_url
64
+
65
+ # Text prompting users to speak to interrupt.
66
+ sig { returns(T.nilable(String)) }
67
+ attr_reader :speak_to_interrupt_text
68
+
69
+ sig { params(speak_to_interrupt_text: String).void }
70
+ attr_writer :speak_to_interrupt_text
71
+
72
+ # Custom text displayed on the start call button.
73
+ sig { returns(T.nilable(String)) }
74
+ attr_reader :start_call_text
75
+
76
+ sig { params(start_call_text: String).void }
77
+ attr_writer :start_call_text
78
+
79
+ # The visual theme for the widget.
80
+ sig { returns(T.nilable(Telnyx::AI::WidgetSettings::Theme::OrSymbol)) }
81
+ attr_reader :theme
82
+
83
+ sig { params(theme: Telnyx::AI::WidgetSettings::Theme::OrSymbol).void }
84
+ attr_writer :theme
85
+
86
+ # URL to view conversation history.
87
+ sig { returns(T.nilable(String)) }
88
+ attr_accessor :view_history_url
89
+
90
+ # Configuration settings for the assistant's web widget.
91
+ sig do
92
+ params(
93
+ agent_thinking_text: String,
94
+ audio_visualizer_config: Telnyx::AI::AudioVisualizerConfig::OrHash,
95
+ default_state: Telnyx::AI::WidgetSettings::DefaultState::OrSymbol,
96
+ give_feedback_url: T.nilable(String),
97
+ logo_icon_url: T.nilable(String),
98
+ position: Telnyx::AI::WidgetSettings::Position::OrSymbol,
99
+ report_issue_url: T.nilable(String),
100
+ speak_to_interrupt_text: String,
101
+ start_call_text: String,
102
+ theme: Telnyx::AI::WidgetSettings::Theme::OrSymbol,
103
+ view_history_url: T.nilable(String)
104
+ ).returns(T.attached_class)
105
+ end
106
+ def self.new(
107
+ # Text displayed while the agent is processing.
108
+ agent_thinking_text: nil,
109
+ audio_visualizer_config: nil,
110
+ # The default state of the widget.
111
+ default_state: nil,
112
+ # URL for users to give feedback.
113
+ give_feedback_url: nil,
114
+ # URL to a custom logo icon for the widget.
115
+ logo_icon_url: nil,
116
+ # The positioning style for the widget.
117
+ position: nil,
118
+ # URL for users to report issues.
119
+ report_issue_url: nil,
120
+ # Text prompting users to speak to interrupt.
121
+ speak_to_interrupt_text: nil,
122
+ # Custom text displayed on the start call button.
123
+ start_call_text: nil,
124
+ # The visual theme for the widget.
125
+ theme: nil,
126
+ # URL to view conversation history.
127
+ view_history_url: nil
128
+ )
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ agent_thinking_text: String,
135
+ audio_visualizer_config: Telnyx::AI::AudioVisualizerConfig,
136
+ default_state: Telnyx::AI::WidgetSettings::DefaultState::OrSymbol,
137
+ give_feedback_url: T.nilable(String),
138
+ logo_icon_url: T.nilable(String),
139
+ position: Telnyx::AI::WidgetSettings::Position::OrSymbol,
140
+ report_issue_url: T.nilable(String),
141
+ speak_to_interrupt_text: String,
142
+ start_call_text: String,
143
+ theme: Telnyx::AI::WidgetSettings::Theme::OrSymbol,
144
+ view_history_url: T.nilable(String)
145
+ }
146
+ )
147
+ end
148
+ def to_hash
149
+ end
150
+
151
+ # The default state of the widget.
152
+ module DefaultState
153
+ extend Telnyx::Internal::Type::Enum
154
+
155
+ TaggedSymbol =
156
+ T.type_alias do
157
+ T.all(Symbol, Telnyx::AI::WidgetSettings::DefaultState)
158
+ end
159
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
160
+
161
+ EXPANDED =
162
+ T.let(
163
+ :expanded,
164
+ Telnyx::AI::WidgetSettings::DefaultState::TaggedSymbol
165
+ )
166
+ COLLAPSED =
167
+ T.let(
168
+ :collapsed,
169
+ Telnyx::AI::WidgetSettings::DefaultState::TaggedSymbol
170
+ )
171
+
172
+ sig do
173
+ override.returns(
174
+ T::Array[Telnyx::AI::WidgetSettings::DefaultState::TaggedSymbol]
175
+ )
176
+ end
177
+ def self.values
178
+ end
179
+ end
180
+
181
+ # The positioning style for the widget.
182
+ module Position
183
+ extend Telnyx::Internal::Type::Enum
184
+
185
+ TaggedSymbol =
186
+ T.type_alias { T.all(Symbol, Telnyx::AI::WidgetSettings::Position) }
187
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
188
+
189
+ FIXED =
190
+ T.let(:fixed, Telnyx::AI::WidgetSettings::Position::TaggedSymbol)
191
+ STATIC =
192
+ T.let(:static, Telnyx::AI::WidgetSettings::Position::TaggedSymbol)
193
+
194
+ sig do
195
+ override.returns(
196
+ T::Array[Telnyx::AI::WidgetSettings::Position::TaggedSymbol]
197
+ )
198
+ end
199
+ def self.values
200
+ end
201
+ end
202
+
203
+ # The visual theme for the widget.
204
+ module Theme
205
+ extend Telnyx::Internal::Type::Enum
206
+
207
+ TaggedSymbol =
208
+ T.type_alias { T.all(Symbol, Telnyx::AI::WidgetSettings::Theme) }
209
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
210
+
211
+ LIGHT = T.let(:light, Telnyx::AI::WidgetSettings::Theme::TaggedSymbol)
212
+ DARK = T.let(:dark, Telnyx::AI::WidgetSettings::Theme::TaggedSymbol)
213
+
214
+ sig do
215
+ override.returns(
216
+ T::Array[Telnyx::AI::WidgetSettings::Theme::TaggedSymbol]
217
+ )
218
+ end
219
+ def self.values
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end