deeprails 0.11.0 → 0.13.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +26 -40
  4. data/lib/deeprails/internal/transport/base_client.rb +7 -1
  5. data/lib/deeprails/internal/transport/pooled_net_requester.rb +6 -2
  6. data/lib/deeprails/internal/type/base_model.rb +5 -5
  7. data/lib/deeprails/models/defend_create_response.rb +51 -0
  8. data/lib/deeprails/models/defend_create_workflow_params.rb +19 -19
  9. data/lib/deeprails/models/defend_response.rb +294 -54
  10. data/lib/deeprails/models/defend_retrieve_workflow_params.rb +13 -1
  11. data/lib/deeprails/models/defend_update_response.rb +51 -0
  12. data/lib/deeprails/models/file_response.rb +6 -22
  13. data/lib/deeprails/models/file_upload_params.rb +3 -3
  14. data/lib/deeprails/models/monitor_create_response.rb +51 -0
  15. data/lib/deeprails/models/monitor_detail_response.rb +103 -104
  16. data/lib/deeprails/models/monitor_event_detail_response.rb +183 -0
  17. data/lib/deeprails/models/monitor_event_response.rb +1 -9
  18. data/lib/deeprails/models/monitor_retrieve_event_params.rb +20 -0
  19. data/lib/deeprails/models/monitor_retrieve_params.rb +6 -2
  20. data/lib/deeprails/models/monitor_update_params.rb +11 -11
  21. data/lib/deeprails/models/monitor_update_response.rb +51 -0
  22. data/lib/deeprails/models/workflow_event_detail_response.rb +314 -0
  23. data/lib/deeprails/models/workflow_event_response.rb +29 -30
  24. data/lib/deeprails/models.rb +13 -1
  25. data/lib/deeprails/resources/defend.rb +20 -13
  26. data/lib/deeprails/resources/files.rb +1 -1
  27. data/lib/deeprails/resources/monitor.rb +38 -8
  28. data/lib/deeprails/version.rb +1 -1
  29. data/lib/deeprails.rb +8 -1
  30. data/manifest.yaml +1 -0
  31. data/rbi/deeprails/internal/transport/base_client.rbi +5 -0
  32. data/rbi/deeprails/internal/transport/pooled_net_requester.rbi +6 -2
  33. data/rbi/deeprails/internal/type/base_model.rbi +8 -4
  34. data/rbi/deeprails/models/defend_create_response.rbi +83 -0
  35. data/rbi/deeprails/models/defend_create_workflow_params.rbi +33 -27
  36. data/rbi/deeprails/models/defend_response.rbi +528 -109
  37. data/rbi/deeprails/models/defend_retrieve_workflow_params.rbi +23 -5
  38. data/rbi/deeprails/models/defend_update_response.rbi +83 -0
  39. data/rbi/deeprails/models/file_response.rbi +11 -39
  40. data/rbi/deeprails/models/file_upload_params.rbi +3 -6
  41. data/rbi/deeprails/models/monitor_create_response.rbi +83 -0
  42. data/rbi/deeprails/models/monitor_detail_response.rbi +168 -167
  43. data/rbi/deeprails/models/monitor_event_detail_response.rbi +386 -0
  44. data/rbi/deeprails/models/monitor_event_response.rbi +4 -18
  45. data/rbi/deeprails/models/monitor_retrieve_event_params.rbi +38 -0
  46. data/rbi/deeprails/models/monitor_retrieve_params.rbi +4 -2
  47. data/rbi/deeprails/models/monitor_update_params.rbi +21 -38
  48. data/rbi/deeprails/models/monitor_update_response.rbi +83 -0
  49. data/rbi/deeprails/models/workflow_event_detail_response.rbi +657 -0
  50. data/rbi/deeprails/models/workflow_event_response.rbi +49 -42
  51. data/rbi/deeprails/models.rbi +13 -1
  52. data/rbi/deeprails/resources/defend.rbi +17 -12
  53. data/rbi/deeprails/resources/files.rbi +1 -1
  54. data/rbi/deeprails/resources/monitor.rbi +25 -8
  55. data/sig/deeprails/internal/transport/base_client.rbs +2 -0
  56. data/sig/deeprails/internal/transport/pooled_net_requester.rbs +4 -1
  57. data/sig/deeprails/models/defend_create_response.rbs +41 -0
  58. data/sig/deeprails/models/defend_create_workflow_params.rbs +7 -7
  59. data/sig/deeprails/models/defend_response.rbs +282 -47
  60. data/sig/deeprails/models/defend_retrieve_workflow_params.rbs +13 -3
  61. data/sig/deeprails/models/defend_update_response.rbs +41 -0
  62. data/sig/deeprails/models/file_response.rbs +5 -27
  63. data/sig/deeprails/models/file_upload_params.rbs +4 -5
  64. data/sig/deeprails/models/monitor_create_response.rbs +41 -0
  65. data/sig/deeprails/models/monitor_detail_response.rbs +80 -89
  66. data/sig/deeprails/models/monitor_event_detail_response.rbs +181 -0
  67. data/sig/deeprails/models/monitor_event_response.rbs +2 -15
  68. data/sig/deeprails/models/monitor_retrieve_event_params.rbs +23 -0
  69. data/sig/deeprails/models/monitor_update_params.rbs +13 -13
  70. data/sig/deeprails/models/monitor_update_response.rbs +41 -0
  71. data/sig/deeprails/models/workflow_event_detail_response.rbs +303 -0
  72. data/sig/deeprails/models/workflow_event_response.rbs +24 -24
  73. data/sig/deeprails/models.rbs +13 -1
  74. data/sig/deeprails/resources/defend.rbs +5 -4
  75. data/sig/deeprails/resources/files.rbs +1 -1
  76. data/sig/deeprails/resources/monitor.rbs +9 -3
  77. metadata +23 -5
  78. data/lib/deeprails/models/monitor_response.rb +0 -83
  79. data/rbi/deeprails/models/monitor_response.rbi +0 -142
  80. data/sig/deeprails/models/monitor_response.rbs +0 -73
@@ -0,0 +1,657 @@
1
+ # typed: strong
2
+
3
+ module Deeprails
4
+ module Models
5
+ class WorkflowEventDetailResponse < Deeprails::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Deeprails::WorkflowEventDetailResponse,
10
+ Deeprails::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # History of evaluations for the event.
15
+ sig do
16
+ returns(
17
+ T::Array[Deeprails::WorkflowEventDetailResponse::EvaluationHistory]
18
+ )
19
+ end
20
+ attr_accessor :evaluation_history
21
+
22
+ # Evaluation result consisting of average scores and rationales for each of the
23
+ # evaluated guardrail metrics.
24
+ sig { returns(T::Hash[Symbol, T.anything]) }
25
+ attr_accessor :evaluation_result
26
+
27
+ # A unique workflow event ID.
28
+ sig { returns(String) }
29
+ attr_accessor :event_id
30
+
31
+ # Status of the event.
32
+ sig do
33
+ returns(
34
+ Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol
35
+ )
36
+ end
37
+ attr_accessor :event_status
38
+
39
+ # Whether the event was filtered and requires improvement.
40
+ sig { returns(T::Boolean) }
41
+ attr_accessor :filtered
42
+
43
+ # Improved model output after improvement tool was applied and each metric passed
44
+ # evaluation.
45
+ sig { returns(String) }
46
+ attr_accessor :improved_model_output
47
+
48
+ # Status of the improvement tool used to improve the event.
49
+ sig do
50
+ returns(
51
+ T.nilable(
52
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
53
+ )
54
+ )
55
+ end
56
+ attr_accessor :improvement_tool_status
57
+
58
+ # Type of improvement tool used to improve the event.
59
+ sig do
60
+ returns(
61
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::TaggedSymbol
62
+ )
63
+ end
64
+ attr_accessor :improvement_tool_type
65
+
66
+ # Type of thresholds used to evaluate the event.
67
+ sig do
68
+ returns(
69
+ Deeprails::WorkflowEventDetailResponse::ThresholdType::TaggedSymbol
70
+ )
71
+ end
72
+ attr_accessor :threshold_type
73
+
74
+ # Workflow ID associated with the event.
75
+ sig { returns(String) }
76
+ attr_accessor :workflow_id
77
+
78
+ # Mapping of guardrail metric names to tolerance values. Values are strings
79
+ # (`low`, `medium`, `high`) representing automatic tolerance levels.
80
+ sig do
81
+ returns(
82
+ T.nilable(
83
+ T::Hash[
84
+ Symbol,
85
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::TaggedSymbol
86
+ ]
87
+ )
88
+ )
89
+ end
90
+ attr_reader :automatic_hallucination_tolerance_levels
91
+
92
+ sig do
93
+ params(
94
+ automatic_hallucination_tolerance_levels:
95
+ T::Hash[
96
+ Symbol,
97
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::OrSymbol
98
+ ]
99
+ ).void
100
+ end
101
+ attr_writer :automatic_hallucination_tolerance_levels
102
+
103
+ # Extended AI capabilities available to the event, if any. Can be `web_search`
104
+ # and/or `file_search`.
105
+ sig do
106
+ returns(
107
+ T.nilable(
108
+ T::Array[Deeprails::WorkflowEventDetailResponse::Capability]
109
+ )
110
+ )
111
+ end
112
+ attr_reader :capabilities
113
+
114
+ sig do
115
+ params(
116
+ capabilities:
117
+ T::Array[Deeprails::WorkflowEventDetailResponse::Capability::OrHash]
118
+ ).void
119
+ end
120
+ attr_writer :capabilities
121
+
122
+ # Mapping of guardrail metric names to threshold values. Values are floating point
123
+ # numbers (0.0-1.0) representing custom thresholds.
124
+ sig { returns(T.nilable(T::Hash[Symbol, Float])) }
125
+ attr_reader :custom_hallucination_threshold_values
126
+
127
+ sig do
128
+ params(
129
+ custom_hallucination_threshold_values: T::Hash[Symbol, Float]
130
+ ).void
131
+ end
132
+ attr_writer :custom_hallucination_threshold_values
133
+
134
+ # List of files available to the event, if any. Will only be present if
135
+ # `file_search` is enabled.
136
+ sig do
137
+ returns(
138
+ T.nilable(T::Array[Deeprails::WorkflowEventDetailResponse::File])
139
+ )
140
+ end
141
+ attr_reader :files
142
+
143
+ sig do
144
+ params(
145
+ files: T::Array[Deeprails::WorkflowEventDetailResponse::File::OrHash]
146
+ ).void
147
+ end
148
+ attr_writer :files
149
+
150
+ sig do
151
+ params(
152
+ evaluation_history:
153
+ T::Array[
154
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::OrHash
155
+ ],
156
+ evaluation_result: T::Hash[Symbol, T.anything],
157
+ event_id: String,
158
+ event_status:
159
+ Deeprails::WorkflowEventDetailResponse::EventStatus::OrSymbol,
160
+ filtered: T::Boolean,
161
+ improved_model_output: String,
162
+ improvement_tool_status:
163
+ T.nilable(
164
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::OrSymbol
165
+ ),
166
+ improvement_tool_type:
167
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::OrSymbol,
168
+ threshold_type:
169
+ Deeprails::WorkflowEventDetailResponse::ThresholdType::OrSymbol,
170
+ workflow_id: String,
171
+ automatic_hallucination_tolerance_levels:
172
+ T::Hash[
173
+ Symbol,
174
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::OrSymbol
175
+ ],
176
+ capabilities:
177
+ T::Array[
178
+ Deeprails::WorkflowEventDetailResponse::Capability::OrHash
179
+ ],
180
+ custom_hallucination_threshold_values: T::Hash[Symbol, Float],
181
+ files: T::Array[Deeprails::WorkflowEventDetailResponse::File::OrHash]
182
+ ).returns(T.attached_class)
183
+ end
184
+ def self.new(
185
+ # History of evaluations for the event.
186
+ evaluation_history:,
187
+ # Evaluation result consisting of average scores and rationales for each of the
188
+ # evaluated guardrail metrics.
189
+ evaluation_result:,
190
+ # A unique workflow event ID.
191
+ event_id:,
192
+ # Status of the event.
193
+ event_status:,
194
+ # Whether the event was filtered and requires improvement.
195
+ filtered:,
196
+ # Improved model output after improvement tool was applied and each metric passed
197
+ # evaluation.
198
+ improved_model_output:,
199
+ # Status of the improvement tool used to improve the event.
200
+ improvement_tool_status:,
201
+ # Type of improvement tool used to improve the event.
202
+ improvement_tool_type:,
203
+ # Type of thresholds used to evaluate the event.
204
+ threshold_type:,
205
+ # Workflow ID associated with the event.
206
+ workflow_id:,
207
+ # Mapping of guardrail metric names to tolerance values. Values are strings
208
+ # (`low`, `medium`, `high`) representing automatic tolerance levels.
209
+ automatic_hallucination_tolerance_levels: nil,
210
+ # Extended AI capabilities available to the event, if any. Can be `web_search`
211
+ # and/or `file_search`.
212
+ capabilities: nil,
213
+ # Mapping of guardrail metric names to threshold values. Values are floating point
214
+ # numbers (0.0-1.0) representing custom thresholds.
215
+ custom_hallucination_threshold_values: nil,
216
+ # List of files available to the event, if any. Will only be present if
217
+ # `file_search` is enabled.
218
+ files: nil
219
+ )
220
+ end
221
+
222
+ sig do
223
+ override.returns(
224
+ {
225
+ evaluation_history:
226
+ T::Array[
227
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory
228
+ ],
229
+ evaluation_result: T::Hash[Symbol, T.anything],
230
+ event_id: String,
231
+ event_status:
232
+ Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol,
233
+ filtered: T::Boolean,
234
+ improved_model_output: String,
235
+ improvement_tool_status:
236
+ T.nilable(
237
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
238
+ ),
239
+ improvement_tool_type:
240
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::TaggedSymbol,
241
+ threshold_type:
242
+ Deeprails::WorkflowEventDetailResponse::ThresholdType::TaggedSymbol,
243
+ workflow_id: String,
244
+ automatic_hallucination_tolerance_levels:
245
+ T::Hash[
246
+ Symbol,
247
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::TaggedSymbol
248
+ ],
249
+ capabilities:
250
+ T::Array[Deeprails::WorkflowEventDetailResponse::Capability],
251
+ custom_hallucination_threshold_values: T::Hash[Symbol, Float],
252
+ files: T::Array[Deeprails::WorkflowEventDetailResponse::File]
253
+ }
254
+ )
255
+ end
256
+ def to_hash
257
+ end
258
+
259
+ class EvaluationHistory < Deeprails::Internal::Type::BaseModel
260
+ OrHash =
261
+ T.type_alias do
262
+ T.any(
263
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory,
264
+ Deeprails::Internal::AnyHash
265
+ )
266
+ end
267
+
268
+ sig { returns(T.nilable(String)) }
269
+ attr_reader :attempt
270
+
271
+ sig { params(attempt: String).void }
272
+ attr_writer :attempt
273
+
274
+ sig { returns(T.nilable(Time)) }
275
+ attr_reader :created_at
276
+
277
+ sig { params(created_at: Time).void }
278
+ attr_writer :created_at
279
+
280
+ sig { returns(T.nilable(String)) }
281
+ attr_reader :error_message
282
+
283
+ sig { params(error_message: String).void }
284
+ attr_writer :error_message
285
+
286
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
287
+ attr_reader :evaluation_result
288
+
289
+ sig { params(evaluation_result: T::Hash[Symbol, T.anything]).void }
290
+ attr_writer :evaluation_result
291
+
292
+ sig { returns(T.nilable(String)) }
293
+ attr_reader :evaluation_status
294
+
295
+ sig { params(evaluation_status: String).void }
296
+ attr_writer :evaluation_status
297
+
298
+ sig { returns(T.nilable(Float)) }
299
+ attr_reader :evaluation_total_cost
300
+
301
+ sig { params(evaluation_total_cost: Float).void }
302
+ attr_writer :evaluation_total_cost
303
+
304
+ sig { returns(T.nilable(T::Array[String])) }
305
+ attr_reader :guardrail_metrics
306
+
307
+ sig { params(guardrail_metrics: T::Array[String]).void }
308
+ attr_writer :guardrail_metrics
309
+
310
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
311
+ attr_reader :model_input
312
+
313
+ sig { params(model_input: T::Hash[Symbol, T.anything]).void }
314
+ attr_writer :model_input
315
+
316
+ sig { returns(T.nilable(String)) }
317
+ attr_reader :model_output
318
+
319
+ sig { params(model_output: String).void }
320
+ attr_writer :model_output
321
+
322
+ sig { returns(T.nilable(Time)) }
323
+ attr_reader :modified_at
324
+
325
+ sig { params(modified_at: Time).void }
326
+ attr_writer :modified_at
327
+
328
+ sig { returns(T.nilable(String)) }
329
+ attr_reader :nametag
330
+
331
+ sig { params(nametag: String).void }
332
+ attr_writer :nametag
333
+
334
+ sig { returns(T.nilable(Integer)) }
335
+ attr_reader :progress
336
+
337
+ sig { params(progress: Integer).void }
338
+ attr_writer :progress
339
+
340
+ sig { returns(T.nilable(String)) }
341
+ attr_reader :run_mode
342
+
343
+ sig { params(run_mode: String).void }
344
+ attr_writer :run_mode
345
+
346
+ sig do
347
+ params(
348
+ attempt: String,
349
+ created_at: Time,
350
+ error_message: String,
351
+ evaluation_result: T::Hash[Symbol, T.anything],
352
+ evaluation_status: String,
353
+ evaluation_total_cost: Float,
354
+ guardrail_metrics: T::Array[String],
355
+ model_input: T::Hash[Symbol, T.anything],
356
+ model_output: String,
357
+ modified_at: Time,
358
+ nametag: String,
359
+ progress: Integer,
360
+ run_mode: String
361
+ ).returns(T.attached_class)
362
+ end
363
+ def self.new(
364
+ attempt: nil,
365
+ created_at: nil,
366
+ error_message: nil,
367
+ evaluation_result: nil,
368
+ evaluation_status: nil,
369
+ evaluation_total_cost: nil,
370
+ guardrail_metrics: nil,
371
+ model_input: nil,
372
+ model_output: nil,
373
+ modified_at: nil,
374
+ nametag: nil,
375
+ progress: nil,
376
+ run_mode: nil
377
+ )
378
+ end
379
+
380
+ sig do
381
+ override.returns(
382
+ {
383
+ attempt: String,
384
+ created_at: Time,
385
+ error_message: String,
386
+ evaluation_result: T::Hash[Symbol, T.anything],
387
+ evaluation_status: String,
388
+ evaluation_total_cost: Float,
389
+ guardrail_metrics: T::Array[String],
390
+ model_input: T::Hash[Symbol, T.anything],
391
+ model_output: String,
392
+ modified_at: Time,
393
+ nametag: String,
394
+ progress: Integer,
395
+ run_mode: String
396
+ }
397
+ )
398
+ end
399
+ def to_hash
400
+ end
401
+ end
402
+
403
+ # Status of the event.
404
+ module EventStatus
405
+ extend Deeprails::Internal::Type::Enum
406
+
407
+ TaggedSymbol =
408
+ T.type_alias do
409
+ T.all(Symbol, Deeprails::WorkflowEventDetailResponse::EventStatus)
410
+ end
411
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
412
+
413
+ IN_PROGRESS =
414
+ T.let(
415
+ :"In Progress",
416
+ Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol
417
+ )
418
+ COMPLETED =
419
+ T.let(
420
+ :Completed,
421
+ Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol
422
+ )
423
+
424
+ sig do
425
+ override.returns(
426
+ T::Array[
427
+ Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol
428
+ ]
429
+ )
430
+ end
431
+ def self.values
432
+ end
433
+ end
434
+
435
+ # Status of the improvement tool used to improve the event.
436
+ module ImprovementToolStatus
437
+ extend Deeprails::Internal::Type::Enum
438
+
439
+ TaggedSymbol =
440
+ T.type_alias do
441
+ T.all(
442
+ Symbol,
443
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus
444
+ )
445
+ end
446
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
447
+
448
+ IMPROVED =
449
+ T.let(
450
+ :improved,
451
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
452
+ )
453
+ FAILED_ON_MAX_RETRIES =
454
+ T.let(
455
+ :"failed on max retries",
456
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
457
+ )
458
+ IMPROVEMENT_REQUIRED =
459
+ T.let(
460
+ :improvement_required,
461
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
462
+ )
463
+
464
+ sig do
465
+ override.returns(
466
+ T::Array[
467
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
468
+ ]
469
+ )
470
+ end
471
+ def self.values
472
+ end
473
+ end
474
+
475
+ # Type of improvement tool used to improve the event.
476
+ module ImprovementToolType
477
+ extend Deeprails::Internal::Type::Enum
478
+
479
+ TaggedSymbol =
480
+ T.type_alias do
481
+ T.all(
482
+ Symbol,
483
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType
484
+ )
485
+ end
486
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
487
+
488
+ REGEN =
489
+ T.let(
490
+ :regen,
491
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::TaggedSymbol
492
+ )
493
+ FIXIT =
494
+ T.let(
495
+ :fixit,
496
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::TaggedSymbol
497
+ )
498
+ DO_NOTHING =
499
+ T.let(
500
+ :do_nothing,
501
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::TaggedSymbol
502
+ )
503
+
504
+ sig do
505
+ override.returns(
506
+ T::Array[
507
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolType::TaggedSymbol
508
+ ]
509
+ )
510
+ end
511
+ def self.values
512
+ end
513
+ end
514
+
515
+ # Type of thresholds used to evaluate the event.
516
+ module ThresholdType
517
+ extend Deeprails::Internal::Type::Enum
518
+
519
+ TaggedSymbol =
520
+ T.type_alias do
521
+ T.all(Symbol, Deeprails::WorkflowEventDetailResponse::ThresholdType)
522
+ end
523
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
524
+
525
+ CUSTOM =
526
+ T.let(
527
+ :custom,
528
+ Deeprails::WorkflowEventDetailResponse::ThresholdType::TaggedSymbol
529
+ )
530
+ AUTOMATIC =
531
+ T.let(
532
+ :automatic,
533
+ Deeprails::WorkflowEventDetailResponse::ThresholdType::TaggedSymbol
534
+ )
535
+
536
+ sig do
537
+ override.returns(
538
+ T::Array[
539
+ Deeprails::WorkflowEventDetailResponse::ThresholdType::TaggedSymbol
540
+ ]
541
+ )
542
+ end
543
+ def self.values
544
+ end
545
+ end
546
+
547
+ module AutomaticHallucinationToleranceLevel
548
+ extend Deeprails::Internal::Type::Enum
549
+
550
+ TaggedSymbol =
551
+ T.type_alias do
552
+ T.all(
553
+ Symbol,
554
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel
555
+ )
556
+ end
557
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
558
+
559
+ LOW =
560
+ T.let(
561
+ :low,
562
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::TaggedSymbol
563
+ )
564
+ MEDIUM =
565
+ T.let(
566
+ :medium,
567
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::TaggedSymbol
568
+ )
569
+ HIGH =
570
+ T.let(
571
+ :high,
572
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::TaggedSymbol
573
+ )
574
+
575
+ sig do
576
+ override.returns(
577
+ T::Array[
578
+ Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel::TaggedSymbol
579
+ ]
580
+ )
581
+ end
582
+ def self.values
583
+ end
584
+ end
585
+
586
+ class Capability < Deeprails::Internal::Type::BaseModel
587
+ OrHash =
588
+ T.type_alias do
589
+ T.any(
590
+ Deeprails::WorkflowEventDetailResponse::Capability,
591
+ Deeprails::Internal::AnyHash
592
+ )
593
+ end
594
+
595
+ sig { returns(T.nilable(String)) }
596
+ attr_reader :capability
597
+
598
+ sig { params(capability: String).void }
599
+ attr_writer :capability
600
+
601
+ sig { params(capability: String).returns(T.attached_class) }
602
+ def self.new(capability: nil)
603
+ end
604
+
605
+ sig { override.returns({ capability: String }) }
606
+ def to_hash
607
+ end
608
+ end
609
+
610
+ class File < Deeprails::Internal::Type::BaseModel
611
+ OrHash =
612
+ T.type_alias do
613
+ T.any(
614
+ Deeprails::WorkflowEventDetailResponse::File,
615
+ Deeprails::Internal::AnyHash
616
+ )
617
+ end
618
+
619
+ sig { returns(T.nilable(String)) }
620
+ attr_reader :file_id
621
+
622
+ sig { params(file_id: String).void }
623
+ attr_writer :file_id
624
+
625
+ sig { returns(T.nilable(String)) }
626
+ attr_reader :file_name
627
+
628
+ sig { params(file_name: String).void }
629
+ attr_writer :file_name
630
+
631
+ sig { returns(T.nilable(Integer)) }
632
+ attr_reader :file_size
633
+
634
+ sig { params(file_size: Integer).void }
635
+ attr_writer :file_size
636
+
637
+ sig do
638
+ params(
639
+ file_id: String,
640
+ file_name: String,
641
+ file_size: Integer
642
+ ).returns(T.attached_class)
643
+ end
644
+ def self.new(file_id: nil, file_name: nil, file_size: nil)
645
+ end
646
+
647
+ sig do
648
+ override.returns(
649
+ { file_id: String, file_name: String, file_size: Integer }
650
+ )
651
+ end
652
+ def to_hash
653
+ end
654
+ end
655
+ end
656
+ end
657
+ end