falaai-api 1.21.49 → 1.21.54

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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -38
  3. data/docs/AnalysisApi.md +2 -2
  4. data/docs/DiagnosticParticipant.md +1 -1
  5. data/docs/DiagnosticRequest.md +2 -2
  6. data/docs/DiagnosticResponse.md +3 -1
  7. data/docs/Participant.md +1 -1
  8. data/docs/ParticipantDiagnostic.md +1 -1
  9. data/docs/RiskAuditRequest.md +4 -6
  10. data/docs/SpeechApi.md +3 -3
  11. data/docs/WhatsappApi.md +95 -0
  12. data/docs/WhatsappConversation.md +32 -0
  13. data/docs/WhatsappConversationsResponse.md +28 -0
  14. data/docs/WhatsappMeta.md +50 -0
  15. data/docs/WhatsappSpeaker.md +20 -0
  16. data/docs/WhatsappUsage.md +34 -0
  17. data/docs/index.html +55 -51
  18. data/docs/llms.txt +18 -0
  19. data/docs/robots.txt +4 -0
  20. data/docs/sitemap.xml +8 -0
  21. data/lib/falaai-api/api/analysis_api.rb +1 -1
  22. data/lib/falaai-api/api/email_alerts_api.rb +1 -1
  23. data/lib/falaai-api/api/health_api.rb +1 -1
  24. data/lib/falaai-api/api/speech_api.rb +5 -5
  25. data/lib/falaai-api/api/usage_api.rb +1 -1
  26. data/lib/falaai-api/api/version_api.rb +1 -1
  27. data/lib/falaai-api/api/webhooks_api.rb +1 -1
  28. data/lib/falaai-api/api/whatsapp_api.rb +132 -0
  29. data/lib/falaai-api/api_client.rb +1 -1
  30. data/lib/falaai-api/api_error.rb +1 -1
  31. data/lib/falaai-api/api_model_base.rb +1 -1
  32. data/lib/falaai-api/configuration.rb +1 -1
  33. data/lib/falaai-api/models/audio_event.rb +1 -1
  34. data/lib/falaai-api/models/audio_input_meta.rb +1 -1
  35. data/lib/falaai-api/models/create_email_alert_request.rb +1 -1
  36. data/lib/falaai-api/models/create_webhook_request.rb +1 -1
  37. data/lib/falaai-api/models/diagnostic_analysis_map.rb +1 -1
  38. data/lib/falaai-api/models/diagnostic_audio_event.rb +1 -1
  39. data/lib/falaai-api/models/diagnostic_categorical_analysis.rb +1 -1
  40. data/lib/falaai-api/models/diagnostic_participant.rb +2 -9
  41. data/lib/falaai-api/models/diagnostic_request.rb +5 -12
  42. data/lib/falaai-api/models/diagnostic_response.rb +15 -5
  43. data/lib/falaai-api/models/diagnostic_text_analysis.rb +1 -1
  44. data/lib/falaai-api/models/diagnostic_usage.rb +1 -1
  45. data/lib/falaai-api/models/email_alert_item.rb +1 -1
  46. data/lib/falaai-api/models/email_alert_list_response.rb +1 -1
  47. data/lib/falaai-api/models/email_alert_message_response.rb +1 -1
  48. data/lib/falaai-api/models/email_event.rb +1 -1
  49. data/lib/falaai-api/models/health_response.rb +1 -1
  50. data/lib/falaai-api/models/http_validation_error.rb +1 -1
  51. data/lib/falaai-api/models/location_inner.rb +1 -1
  52. data/lib/falaai-api/models/message_response.rb +1 -1
  53. data/lib/falaai-api/models/participant.rb +2 -2
  54. data/lib/falaai-api/models/participant_diagnostic.rb +2 -19
  55. data/lib/falaai-api/models/risk_audit_analysis_v2.rb +1 -1
  56. data/lib/falaai-api/models/risk_audit_applied_action_v2.rb +1 -1
  57. data/lib/falaai-api/models/risk_audit_audio_event_model_v2.rb +1 -1
  58. data/lib/falaai-api/models/risk_audit_audit_decisions_v2.rb +1 -1
  59. data/lib/falaai-api/models/risk_audit_conversation_scores_v2.rb +1 -1
  60. data/lib/falaai-api/models/risk_audit_detection_item_v2.rb +1 -1
  61. data/lib/falaai-api/models/risk_audit_detections_v2.rb +1 -1
  62. data/lib/falaai-api/models/risk_audit_indexer_v2.rb +1 -1
  63. data/lib/falaai-api/models/risk_audit_meta_v2.rb +1 -1
  64. data/lib/falaai-api/models/risk_audit_participant_v2.rb +1 -1
  65. data/lib/falaai-api/models/risk_audit_participants_v2.rb +1 -1
  66. data/lib/falaai-api/models/risk_audit_request.rb +19 -54
  67. data/lib/falaai-api/models/risk_audit_scores_v2.rb +1 -1
  68. data/lib/falaai-api/models/risk_audit_scoring_explanation_v2.rb +1 -1
  69. data/lib/falaai-api/models/risk_audit_summary_v2.rb +1 -1
  70. data/lib/falaai-api/models/risk_audit_timeline_v2.rb +1 -1
  71. data/lib/falaai-api/models/risk_audit_usage_v2.rb +1 -1
  72. data/lib/falaai-api/models/risk_audit_v2.rb +1 -1
  73. data/lib/falaai-api/models/risk_audit_v2_response.rb +1 -1
  74. data/lib/falaai-api/models/risk_audit_verdict_v2.rb +1 -1
  75. data/lib/falaai-api/models/transcription_response.rb +1 -1
  76. data/lib/falaai-api/models/transcription_usage.rb +1 -1
  77. data/lib/falaai-api/models/update_email_alert_request.rb +1 -1
  78. data/lib/falaai-api/models/update_webhook_request.rb +1 -1
  79. data/lib/falaai-api/models/usage_by_key_item.rb +1 -1
  80. data/lib/falaai-api/models/usage_log_item.rb +1 -1
  81. data/lib/falaai-api/models/usage_log_response.rb +1 -1
  82. data/lib/falaai-api/models/validation_error.rb +1 -1
  83. data/lib/falaai-api/models/version_response.rb +1 -1
  84. data/lib/falaai-api/models/webhook_event.rb +1 -1
  85. data/lib/falaai-api/models/webhook_item.rb +1 -1
  86. data/lib/falaai-api/models/webhook_list_response.rb +1 -1
  87. data/lib/falaai-api/models/whatsapp_conversation.rb +356 -0
  88. data/lib/falaai-api/models/whatsapp_conversations_response.rb +285 -0
  89. data/lib/falaai-api/models/whatsapp_meta.rb +597 -0
  90. data/lib/falaai-api/models/whatsapp_speaker.rb +192 -0
  91. data/lib/falaai-api/models/whatsapp_usage.rb +381 -0
  92. data/lib/falaai-api/version.rb +2 -2
  93. data/lib/falaai-api.rb +7 -1
  94. metadata +17 -2
@@ -0,0 +1,597 @@
1
+ =begin
2
+ #FalaAI API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.21.54
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FalaAI
17
+ class WhatsappMeta < ApiModelBase
18
+ # Uploaded file name
19
+ attr_accessor :file
20
+
21
+ # chat.txt entry name inside the export
22
+ attr_accessor :chat_txt
23
+
24
+ # Detected format: Android | iOS
25
+ attr_accessor :format
26
+
27
+ # Date order used
28
+ attr_accessor :date_format
29
+
30
+ # Timezone informed
31
+ attr_accessor :timezone
32
+
33
+ # Window start (ISO)
34
+ attr_accessor :start
35
+
36
+ # Window end (ISO)
37
+ attr_accessor :_end
38
+
39
+ # Gap used to split conversations
40
+ attr_accessor :gap_minutes
41
+
42
+ # Minimum messages per conversation
43
+ attr_accessor :min_messages
44
+
45
+ # Total parsed turns
46
+ attr_accessor :turns
47
+
48
+ # System lines ignored
49
+ attr_accessor :system_lines
50
+
51
+ # Conversations before window filter
52
+ attr_accessor :conversations_total
53
+
54
+ # Conversations overlapping the window
55
+ attr_accessor :conversations_in_window
56
+
57
+ # Single-speaker conversations dropped
58
+ attr_accessor :monologues_dropped
59
+
60
+ # Final conversations returned
61
+ attr_accessor :conversations_selected
62
+
63
+ # Voice/video medias were transcribed
64
+ attr_accessor :voice_note
65
+
66
+ # Visual expressions were described
67
+ attr_accessor :expression
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'file' => :'file',
73
+ :'chat_txt' => :'chat_txt',
74
+ :'format' => :'format',
75
+ :'date_format' => :'date_format',
76
+ :'timezone' => :'timezone',
77
+ :'start' => :'start',
78
+ :'_end' => :'end',
79
+ :'gap_minutes' => :'gap_minutes',
80
+ :'min_messages' => :'min_messages',
81
+ :'turns' => :'turns',
82
+ :'system_lines' => :'system_lines',
83
+ :'conversations_total' => :'conversations_total',
84
+ :'conversations_in_window' => :'conversations_in_window',
85
+ :'monologues_dropped' => :'monologues_dropped',
86
+ :'conversations_selected' => :'conversations_selected',
87
+ :'voice_note' => :'voice_note',
88
+ :'expression' => :'expression'
89
+ }
90
+ end
91
+
92
+ # Returns attribute mapping this model knows about
93
+ def self.acceptable_attribute_map
94
+ attribute_map
95
+ end
96
+
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ acceptable_attribute_map.values
100
+ end
101
+
102
+ # Attribute type mapping.
103
+ def self.openapi_types
104
+ {
105
+ :'file' => :'String',
106
+ :'chat_txt' => :'String',
107
+ :'format' => :'String',
108
+ :'date_format' => :'String',
109
+ :'timezone' => :'String',
110
+ :'start' => :'String',
111
+ :'_end' => :'String',
112
+ :'gap_minutes' => :'Float',
113
+ :'min_messages' => :'Integer',
114
+ :'turns' => :'Integer',
115
+ :'system_lines' => :'Integer',
116
+ :'conversations_total' => :'Integer',
117
+ :'conversations_in_window' => :'Integer',
118
+ :'monologues_dropped' => :'Integer',
119
+ :'conversations_selected' => :'Integer',
120
+ :'voice_note' => :'Boolean',
121
+ :'expression' => :'Boolean'
122
+ }
123
+ end
124
+
125
+ # List of attributes with nullable: true
126
+ def self.openapi_nullable
127
+ Set.new([
128
+ ])
129
+ end
130
+
131
+ # Initializes the object
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ def initialize(attributes = {})
134
+ if (!attributes.is_a?(Hash))
135
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FalaAI::WhatsappMeta` initialize method"
136
+ end
137
+
138
+ # check to see if the attribute exists and convert string to symbol for hash key
139
+ acceptable_attribute_map = self.class.acceptable_attribute_map
140
+ attributes = attributes.each_with_object({}) { |(k, v), h|
141
+ if (!acceptable_attribute_map.key?(k.to_sym))
142
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FalaAI::WhatsappMeta`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
143
+ end
144
+ h[k.to_sym] = v
145
+ }
146
+
147
+ if attributes.key?(:'file')
148
+ self.file = attributes[:'file']
149
+ else
150
+ self.file = nil
151
+ end
152
+
153
+ if attributes.key?(:'chat_txt')
154
+ self.chat_txt = attributes[:'chat_txt']
155
+ else
156
+ self.chat_txt = nil
157
+ end
158
+
159
+ if attributes.key?(:'format')
160
+ self.format = attributes[:'format']
161
+ else
162
+ self.format = nil
163
+ end
164
+
165
+ if attributes.key?(:'date_format')
166
+ self.date_format = attributes[:'date_format']
167
+ else
168
+ self.date_format = nil
169
+ end
170
+
171
+ if attributes.key?(:'timezone')
172
+ self.timezone = attributes[:'timezone']
173
+ else
174
+ self.timezone = nil
175
+ end
176
+
177
+ if attributes.key?(:'start')
178
+ self.start = attributes[:'start']
179
+ else
180
+ self.start = nil
181
+ end
182
+
183
+ if attributes.key?(:'_end')
184
+ self._end = attributes[:'_end']
185
+ else
186
+ self._end = nil
187
+ end
188
+
189
+ if attributes.key?(:'gap_minutes')
190
+ self.gap_minutes = attributes[:'gap_minutes']
191
+ else
192
+ self.gap_minutes = nil
193
+ end
194
+
195
+ if attributes.key?(:'min_messages')
196
+ self.min_messages = attributes[:'min_messages']
197
+ else
198
+ self.min_messages = nil
199
+ end
200
+
201
+ if attributes.key?(:'turns')
202
+ self.turns = attributes[:'turns']
203
+ else
204
+ self.turns = nil
205
+ end
206
+
207
+ if attributes.key?(:'system_lines')
208
+ self.system_lines = attributes[:'system_lines']
209
+ else
210
+ self.system_lines = nil
211
+ end
212
+
213
+ if attributes.key?(:'conversations_total')
214
+ self.conversations_total = attributes[:'conversations_total']
215
+ else
216
+ self.conversations_total = nil
217
+ end
218
+
219
+ if attributes.key?(:'conversations_in_window')
220
+ self.conversations_in_window = attributes[:'conversations_in_window']
221
+ else
222
+ self.conversations_in_window = nil
223
+ end
224
+
225
+ if attributes.key?(:'monologues_dropped')
226
+ self.monologues_dropped = attributes[:'monologues_dropped']
227
+ else
228
+ self.monologues_dropped = nil
229
+ end
230
+
231
+ if attributes.key?(:'conversations_selected')
232
+ self.conversations_selected = attributes[:'conversations_selected']
233
+ else
234
+ self.conversations_selected = nil
235
+ end
236
+
237
+ if attributes.key?(:'voice_note')
238
+ self.voice_note = attributes[:'voice_note']
239
+ else
240
+ self.voice_note = nil
241
+ end
242
+
243
+ if attributes.key?(:'expression')
244
+ self.expression = attributes[:'expression']
245
+ else
246
+ self.expression = nil
247
+ end
248
+ end
249
+
250
+ # Show invalid properties with the reasons. Usually used together with valid?
251
+ # @return Array for valid properties with the reasons
252
+ def list_invalid_properties
253
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
254
+ invalid_properties = Array.new
255
+ if @file.nil?
256
+ invalid_properties.push('invalid value for "file", file cannot be nil.')
257
+ end
258
+
259
+ if @chat_txt.nil?
260
+ invalid_properties.push('invalid value for "chat_txt", chat_txt cannot be nil.')
261
+ end
262
+
263
+ if @format.nil?
264
+ invalid_properties.push('invalid value for "format", format cannot be nil.')
265
+ end
266
+
267
+ if @date_format.nil?
268
+ invalid_properties.push('invalid value for "date_format", date_format cannot be nil.')
269
+ end
270
+
271
+ if @timezone.nil?
272
+ invalid_properties.push('invalid value for "timezone", timezone cannot be nil.')
273
+ end
274
+
275
+ if @start.nil?
276
+ invalid_properties.push('invalid value for "start", start cannot be nil.')
277
+ end
278
+
279
+ if @_end.nil?
280
+ invalid_properties.push('invalid value for "_end", _end cannot be nil.')
281
+ end
282
+
283
+ if @gap_minutes.nil?
284
+ invalid_properties.push('invalid value for "gap_minutes", gap_minutes cannot be nil.')
285
+ end
286
+
287
+ if @min_messages.nil?
288
+ invalid_properties.push('invalid value for "min_messages", min_messages cannot be nil.')
289
+ end
290
+
291
+ if @turns.nil?
292
+ invalid_properties.push('invalid value for "turns", turns cannot be nil.')
293
+ end
294
+
295
+ if @system_lines.nil?
296
+ invalid_properties.push('invalid value for "system_lines", system_lines cannot be nil.')
297
+ end
298
+
299
+ if @conversations_total.nil?
300
+ invalid_properties.push('invalid value for "conversations_total", conversations_total cannot be nil.')
301
+ end
302
+
303
+ if @conversations_in_window.nil?
304
+ invalid_properties.push('invalid value for "conversations_in_window", conversations_in_window cannot be nil.')
305
+ end
306
+
307
+ if @monologues_dropped.nil?
308
+ invalid_properties.push('invalid value for "monologues_dropped", monologues_dropped cannot be nil.')
309
+ end
310
+
311
+ if @conversations_selected.nil?
312
+ invalid_properties.push('invalid value for "conversations_selected", conversations_selected cannot be nil.')
313
+ end
314
+
315
+ if @voice_note.nil?
316
+ invalid_properties.push('invalid value for "voice_note", voice_note cannot be nil.')
317
+ end
318
+
319
+ if @expression.nil?
320
+ invalid_properties.push('invalid value for "expression", expression cannot be nil.')
321
+ end
322
+
323
+ invalid_properties
324
+ end
325
+
326
+ # Check to see if the all the properties in the model are valid
327
+ # @return true if the model is valid
328
+ def valid?
329
+ warn '[DEPRECATED] the `valid?` method is obsolete'
330
+ return false if @file.nil?
331
+ return false if @chat_txt.nil?
332
+ return false if @format.nil?
333
+ return false if @date_format.nil?
334
+ return false if @timezone.nil?
335
+ return false if @start.nil?
336
+ return false if @_end.nil?
337
+ return false if @gap_minutes.nil?
338
+ return false if @min_messages.nil?
339
+ return false if @turns.nil?
340
+ return false if @system_lines.nil?
341
+ return false if @conversations_total.nil?
342
+ return false if @conversations_in_window.nil?
343
+ return false if @monologues_dropped.nil?
344
+ return false if @conversations_selected.nil?
345
+ return false if @voice_note.nil?
346
+ return false if @expression.nil?
347
+ true
348
+ end
349
+
350
+ # Custom attribute writer method with validation
351
+ # @param [Object] file Value to be assigned
352
+ def file=(file)
353
+ if file.nil?
354
+ fail ArgumentError, 'file cannot be nil'
355
+ end
356
+
357
+ @file = file
358
+ end
359
+
360
+ # Custom attribute writer method with validation
361
+ # @param [Object] chat_txt Value to be assigned
362
+ def chat_txt=(chat_txt)
363
+ if chat_txt.nil?
364
+ fail ArgumentError, 'chat_txt cannot be nil'
365
+ end
366
+
367
+ @chat_txt = chat_txt
368
+ end
369
+
370
+ # Custom attribute writer method with validation
371
+ # @param [Object] format Value to be assigned
372
+ def format=(format)
373
+ if format.nil?
374
+ fail ArgumentError, 'format cannot be nil'
375
+ end
376
+
377
+ @format = format
378
+ end
379
+
380
+ # Custom attribute writer method with validation
381
+ # @param [Object] date_format Value to be assigned
382
+ def date_format=(date_format)
383
+ if date_format.nil?
384
+ fail ArgumentError, 'date_format cannot be nil'
385
+ end
386
+
387
+ @date_format = date_format
388
+ end
389
+
390
+ # Custom attribute writer method with validation
391
+ # @param [Object] timezone Value to be assigned
392
+ def timezone=(timezone)
393
+ if timezone.nil?
394
+ fail ArgumentError, 'timezone cannot be nil'
395
+ end
396
+
397
+ @timezone = timezone
398
+ end
399
+
400
+ # Custom attribute writer method with validation
401
+ # @param [Object] start Value to be assigned
402
+ def start=(start)
403
+ if start.nil?
404
+ fail ArgumentError, 'start cannot be nil'
405
+ end
406
+
407
+ @start = start
408
+ end
409
+
410
+ # Custom attribute writer method with validation
411
+ # @param [Object] _end Value to be assigned
412
+ def _end=(_end)
413
+ if _end.nil?
414
+ fail ArgumentError, '_end cannot be nil'
415
+ end
416
+
417
+ @_end = _end
418
+ end
419
+
420
+ # Custom attribute writer method with validation
421
+ # @param [Object] gap_minutes Value to be assigned
422
+ def gap_minutes=(gap_minutes)
423
+ if gap_minutes.nil?
424
+ fail ArgumentError, 'gap_minutes cannot be nil'
425
+ end
426
+
427
+ @gap_minutes = gap_minutes
428
+ end
429
+
430
+ # Custom attribute writer method with validation
431
+ # @param [Object] min_messages Value to be assigned
432
+ def min_messages=(min_messages)
433
+ if min_messages.nil?
434
+ fail ArgumentError, 'min_messages cannot be nil'
435
+ end
436
+
437
+ @min_messages = min_messages
438
+ end
439
+
440
+ # Custom attribute writer method with validation
441
+ # @param [Object] turns Value to be assigned
442
+ def turns=(turns)
443
+ if turns.nil?
444
+ fail ArgumentError, 'turns cannot be nil'
445
+ end
446
+
447
+ @turns = turns
448
+ end
449
+
450
+ # Custom attribute writer method with validation
451
+ # @param [Object] system_lines Value to be assigned
452
+ def system_lines=(system_lines)
453
+ if system_lines.nil?
454
+ fail ArgumentError, 'system_lines cannot be nil'
455
+ end
456
+
457
+ @system_lines = system_lines
458
+ end
459
+
460
+ # Custom attribute writer method with validation
461
+ # @param [Object] conversations_total Value to be assigned
462
+ def conversations_total=(conversations_total)
463
+ if conversations_total.nil?
464
+ fail ArgumentError, 'conversations_total cannot be nil'
465
+ end
466
+
467
+ @conversations_total = conversations_total
468
+ end
469
+
470
+ # Custom attribute writer method with validation
471
+ # @param [Object] conversations_in_window Value to be assigned
472
+ def conversations_in_window=(conversations_in_window)
473
+ if conversations_in_window.nil?
474
+ fail ArgumentError, 'conversations_in_window cannot be nil'
475
+ end
476
+
477
+ @conversations_in_window = conversations_in_window
478
+ end
479
+
480
+ # Custom attribute writer method with validation
481
+ # @param [Object] monologues_dropped Value to be assigned
482
+ def monologues_dropped=(monologues_dropped)
483
+ if monologues_dropped.nil?
484
+ fail ArgumentError, 'monologues_dropped cannot be nil'
485
+ end
486
+
487
+ @monologues_dropped = monologues_dropped
488
+ end
489
+
490
+ # Custom attribute writer method with validation
491
+ # @param [Object] conversations_selected Value to be assigned
492
+ def conversations_selected=(conversations_selected)
493
+ if conversations_selected.nil?
494
+ fail ArgumentError, 'conversations_selected cannot be nil'
495
+ end
496
+
497
+ @conversations_selected = conversations_selected
498
+ end
499
+
500
+ # Custom attribute writer method with validation
501
+ # @param [Object] voice_note Value to be assigned
502
+ def voice_note=(voice_note)
503
+ if voice_note.nil?
504
+ fail ArgumentError, 'voice_note cannot be nil'
505
+ end
506
+
507
+ @voice_note = voice_note
508
+ end
509
+
510
+ # Custom attribute writer method with validation
511
+ # @param [Object] expression Value to be assigned
512
+ def expression=(expression)
513
+ if expression.nil?
514
+ fail ArgumentError, 'expression cannot be nil'
515
+ end
516
+
517
+ @expression = expression
518
+ end
519
+
520
+ # Checks equality by comparing each attribute.
521
+ # @param [Object] Object to be compared
522
+ def ==(o)
523
+ return true if self.equal?(o)
524
+ self.class == o.class &&
525
+ file == o.file &&
526
+ chat_txt == o.chat_txt &&
527
+ format == o.format &&
528
+ date_format == o.date_format &&
529
+ timezone == o.timezone &&
530
+ start == o.start &&
531
+ _end == o._end &&
532
+ gap_minutes == o.gap_minutes &&
533
+ min_messages == o.min_messages &&
534
+ turns == o.turns &&
535
+ system_lines == o.system_lines &&
536
+ conversations_total == o.conversations_total &&
537
+ conversations_in_window == o.conversations_in_window &&
538
+ monologues_dropped == o.monologues_dropped &&
539
+ conversations_selected == o.conversations_selected &&
540
+ voice_note == o.voice_note &&
541
+ expression == o.expression
542
+ end
543
+
544
+ # @see the `==` method
545
+ # @param [Object] Object to be compared
546
+ def eql?(o)
547
+ self == o
548
+ end
549
+
550
+ # Calculates hash code according to all attributes.
551
+ # @return [Integer] Hash code
552
+ def hash
553
+ [file, chat_txt, format, date_format, timezone, start, _end, gap_minutes, min_messages, turns, system_lines, conversations_total, conversations_in_window, monologues_dropped, conversations_selected, voice_note, expression].hash
554
+ end
555
+
556
+ # Builds the object from hash
557
+ # @param [Hash] attributes Model attributes in the form of hash
558
+ # @return [Object] Returns the model itself
559
+ def self.build_from_hash(attributes)
560
+ return nil unless attributes.is_a?(Hash)
561
+ attributes = attributes.transform_keys(&:to_sym)
562
+ transformed_hash = {}
563
+ openapi_types.each_pair do |key, type|
564
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
565
+ transformed_hash["#{key}"] = nil
566
+ elsif type =~ /\AArray<(.*)>/i
567
+ # check to ensure the input is an array given that the attribute
568
+ # is documented as an array but the input is not
569
+ if attributes[attribute_map[key]].is_a?(Array)
570
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
571
+ end
572
+ elsif !attributes[attribute_map[key]].nil?
573
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
574
+ end
575
+ end
576
+ new(transformed_hash)
577
+ end
578
+
579
+ # Returns the object in the form of hash
580
+ # @return [Hash] Returns the object in the form of hash
581
+ def to_hash
582
+ hash = {}
583
+ self.class.attribute_map.each_pair do |attr, param|
584
+ value = self.send(attr)
585
+ if value.nil?
586
+ is_nullable = self.class.openapi_nullable.include?(attr)
587
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
588
+ end
589
+
590
+ hash[param] = _to_hash(value)
591
+ end
592
+ hash
593
+ end
594
+
595
+ end
596
+
597
+ end