deeprails 0.17.0 → 0.23.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/README.md +3 -3
  4. data/lib/deeprails/internal/stream.rb +29 -0
  5. data/lib/deeprails/internal/transport/base_client.rb +3 -1
  6. data/lib/deeprails/internal/transport/pooled_net_requester.rb +12 -10
  7. data/lib/deeprails/internal/type/base_stream.rb +83 -0
  8. data/lib/deeprails/internal/util.rb +7 -2
  9. data/lib/deeprails/models/defend_create_workflow_params.rb +14 -1
  10. data/lib/deeprails/models/defend_response.rb +136 -12
  11. data/lib/deeprails/models/defend_submit_and_stream_event_params.rb +83 -0
  12. data/lib/deeprails/models/defend_submit_and_stream_event_response.rb +7 -0
  13. data/lib/deeprails/models/defend_submit_event_params.rb +52 -16
  14. data/lib/deeprails/models/defend_update_response.rb +9 -1
  15. data/lib/deeprails/models/defend_update_workflow_params.rb +131 -5
  16. data/lib/deeprails/models/file_upload_params.rb +5 -5
  17. data/lib/deeprails/models/monitor_create_params.rb +14 -1
  18. data/lib/deeprails/models/monitor_detail_response.rb +56 -17
  19. data/lib/deeprails/models/monitor_event_detail_response.rb +6 -2
  20. data/lib/deeprails/models/monitor_submit_event_params.rb +52 -16
  21. data/lib/deeprails/models/monitor_update_params.rb +46 -5
  22. data/lib/deeprails/models/workflow_event_detail_response.rb +106 -34
  23. data/lib/deeprails/models/workflow_event_response.rb +9 -1
  24. data/lib/deeprails/models.rb +2 -0
  25. data/lib/deeprails/resources/defend.rb +70 -7
  26. data/lib/deeprails/resources/files.rb +2 -2
  27. data/lib/deeprails/resources/monitor.rb +14 -6
  28. data/lib/deeprails/version.rb +1 -1
  29. data/lib/deeprails.rb +5 -0
  30. data/manifest.yaml +1 -0
  31. data/rbi/deeprails/internal/stream.rbi +20 -0
  32. data/rbi/deeprails/internal/transport/base_client.rbi +18 -2
  33. data/rbi/deeprails/internal/type/base_stream.rbi +75 -0
  34. data/rbi/deeprails/models/defend_create_workflow_params.rbi +21 -0
  35. data/rbi/deeprails/models/defend_response.rbi +288 -16
  36. data/rbi/deeprails/models/defend_submit_and_stream_event_params.rbi +148 -0
  37. data/rbi/deeprails/models/defend_submit_and_stream_event_response.rbi +7 -0
  38. data/rbi/deeprails/models/defend_submit_event_params.rbi +108 -25
  39. data/rbi/deeprails/models/defend_update_response.rbi +14 -3
  40. data/rbi/deeprails/models/defend_update_workflow_params.rbi +298 -4
  41. data/rbi/deeprails/models/file_upload_params.rbi +9 -6
  42. data/rbi/deeprails/models/monitor_create_params.rbi +21 -0
  43. data/rbi/deeprails/models/monitor_detail_response.rbi +107 -26
  44. data/rbi/deeprails/models/monitor_event_detail_response.rbi +4 -2
  45. data/rbi/deeprails/models/monitor_submit_event_params.rbi +108 -25
  46. data/rbi/deeprails/models/monitor_update_params.rbi +107 -4
  47. data/rbi/deeprails/models/workflow_event_detail_response.rbi +209 -66
  48. data/rbi/deeprails/models/workflow_event_response.rbi +8 -0
  49. data/rbi/deeprails/models.rbi +3 -0
  50. data/rbi/deeprails/resources/defend.rbi +99 -9
  51. data/rbi/deeprails/resources/files.rbi +3 -3
  52. data/rbi/deeprails/resources/monitor.rbi +28 -8
  53. data/sig/deeprails/internal/stream.rbs +9 -0
  54. data/sig/deeprails/internal/type/base_stream.rbs +38 -0
  55. data/sig/deeprails/models/defend_create_workflow_params.rbs +7 -0
  56. data/sig/deeprails/models/defend_response.rbs +114 -8
  57. data/sig/deeprails/models/defend_submit_and_stream_event_params.rbs +74 -0
  58. data/sig/deeprails/models/defend_submit_and_stream_event_response.rbs +5 -0
  59. data/sig/deeprails/models/defend_submit_event_params.rbs +39 -10
  60. data/sig/deeprails/models/defend_update_response.rbs +10 -3
  61. data/sig/deeprails/models/defend_update_workflow_params.rbs +103 -1
  62. data/sig/deeprails/models/file_upload_params.rbs +4 -4
  63. data/sig/deeprails/models/monitor_create_params.rbs +7 -0
  64. data/sig/deeprails/models/monitor_detail_response.rbs +36 -9
  65. data/sig/deeprails/models/monitor_submit_event_params.rbs +39 -10
  66. data/sig/deeprails/models/monitor_update_params.rbs +45 -1
  67. data/sig/deeprails/models/workflow_event_detail_response.rbs +100 -27
  68. data/sig/deeprails/models/workflow_event_response.rbs +5 -0
  69. data/sig/deeprails/models.rbs +2 -0
  70. data/sig/deeprails/resources/defend.rbs +20 -0
  71. data/sig/deeprails/resources/files.rbs +1 -1
  72. data/sig/deeprails/resources/monitor.rbs +4 -0
  73. metadata +28 -2
@@ -11,6 +11,9 @@ module Deeprails
11
11
  )
12
12
  end
13
13
 
14
+ sig { returns(T::Array[String]) }
15
+ attr_accessor :analysis_of_failures
16
+
14
17
  # History of evaluations for the event.
15
18
  sig do
16
19
  returns(
@@ -28,14 +31,6 @@ module Deeprails
28
31
  sig { returns(String) }
29
32
  attr_accessor :event_id
30
33
 
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
34
  # Whether the event was filtered and requires improvement.
40
35
  sig { returns(T::Boolean) }
41
36
  attr_accessor :filtered
@@ -53,7 +48,12 @@ module Deeprails
53
48
  end
54
49
  attr_accessor :improvement_action
55
50
 
56
- # Status of the improvement tool used to improve the event.
51
+ # Status of the improvement tool used to improve the event. `improvement_required`
52
+ # indicates that the evaluation is complete and the improvement action is needed
53
+ # but is not taking place. `improved` and `improvement_failed` indicate when the
54
+ # improvement action concludes, successfully and unsuccessfully, respectively.
55
+ # `no_improvement_required` means that the first evaluation passed all its
56
+ # metrics!
57
57
  sig do
58
58
  returns(
59
59
  T.nilable(
@@ -63,6 +63,15 @@ module Deeprails
63
63
  end
64
64
  attr_accessor :improvement_tool_status
65
65
 
66
+ sig { returns(T::Array[T.anything]) }
67
+ attr_accessor :key_improvements
68
+
69
+ # Status of the event.
70
+ sig do
71
+ returns(Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol)
72
+ end
73
+ attr_accessor :status
74
+
66
75
  # Type of thresholds used to evaluate the event.
67
76
  sig do
68
77
  returns(
@@ -100,8 +109,8 @@ module Deeprails
100
109
  end
101
110
  attr_writer :automatic_hallucination_tolerance_levels
102
111
 
103
- # Extended AI capabilities available to the event, if any. Can be `web_search`
104
- # and/or `file_search`.
112
+ # Extended AI capabilities available to the event, if any. Can be `web_search`,
113
+ # `file_search`, and/or `context_awareness`.
105
114
  sig do
106
115
  returns(
107
116
  T.nilable(
@@ -147,16 +156,23 @@ module Deeprails
147
156
  end
148
157
  attr_writer :files
149
158
 
159
+ # The maximum number of improvement attempts to be applied to one event before it
160
+ # is considered failed.
161
+ sig { returns(T.nilable(Integer)) }
162
+ attr_reader :max_improvement_attempts
163
+
164
+ sig { params(max_improvement_attempts: Integer).void }
165
+ attr_writer :max_improvement_attempts
166
+
150
167
  sig do
151
168
  params(
169
+ analysis_of_failures: T::Array[String],
152
170
  evaluation_history:
153
171
  T::Array[
154
172
  Deeprails::WorkflowEventDetailResponse::EvaluationHistory::OrHash
155
173
  ],
156
174
  evaluation_result: T::Hash[Symbol, T.anything],
157
175
  event_id: String,
158
- event_status:
159
- Deeprails::WorkflowEventDetailResponse::EventStatus::OrSymbol,
160
176
  filtered: T::Boolean,
161
177
  improved_model_output: String,
162
178
  improvement_action:
@@ -165,6 +181,8 @@ module Deeprails
165
181
  T.nilable(
166
182
  Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::OrSymbol
167
183
  ),
184
+ key_improvements: T::Array[T.anything],
185
+ status: Deeprails::WorkflowEventDetailResponse::Status::OrSymbol,
168
186
  threshold_type:
169
187
  Deeprails::WorkflowEventDetailResponse::ThresholdType::OrSymbol,
170
188
  workflow_id: String,
@@ -178,10 +196,12 @@ module Deeprails
178
196
  Deeprails::WorkflowEventDetailResponse::Capability::OrHash
179
197
  ],
180
198
  custom_hallucination_threshold_values: T::Hash[Symbol, Float],
181
- files: T::Array[Deeprails::WorkflowEventDetailResponse::File::OrHash]
199
+ files: T::Array[Deeprails::WorkflowEventDetailResponse::File::OrHash],
200
+ max_improvement_attempts: Integer
182
201
  ).returns(T.attached_class)
183
202
  end
184
203
  def self.new(
204
+ analysis_of_failures:,
185
205
  # History of evaluations for the event.
186
206
  evaluation_history:,
187
207
  # Evaluation result consisting of average scores and rationales for each of the
@@ -189,8 +209,6 @@ module Deeprails
189
209
  evaluation_result:,
190
210
  # A unique workflow event ID.
191
211
  event_id:,
192
- # Status of the event.
193
- event_status:,
194
212
  # Whether the event was filtered and requires improvement.
195
213
  filtered:,
196
214
  # Improved model output after improvement tool was applied and each metric passed
@@ -198,8 +216,16 @@ module Deeprails
198
216
  improved_model_output:,
199
217
  # Type of improvement action used to improve the event.
200
218
  improvement_action:,
201
- # Status of the improvement tool used to improve the event.
219
+ # Status of the improvement tool used to improve the event. `improvement_required`
220
+ # indicates that the evaluation is complete and the improvement action is needed
221
+ # but is not taking place. `improved` and `improvement_failed` indicate when the
222
+ # improvement action concludes, successfully and unsuccessfully, respectively.
223
+ # `no_improvement_required` means that the first evaluation passed all its
224
+ # metrics!
202
225
  improvement_tool_status:,
226
+ key_improvements:,
227
+ # Status of the event.
228
+ status:,
203
229
  # Type of thresholds used to evaluate the event.
204
230
  threshold_type:,
205
231
  # Workflow ID associated with the event.
@@ -207,29 +233,31 @@ module Deeprails
207
233
  # Mapping of guardrail metric names to tolerance values. Values are strings
208
234
  # (`low`, `medium`, `high`) representing automatic tolerance levels.
209
235
  automatic_hallucination_tolerance_levels: nil,
210
- # Extended AI capabilities available to the event, if any. Can be `web_search`
211
- # and/or `file_search`.
236
+ # Extended AI capabilities available to the event, if any. Can be `web_search`,
237
+ # `file_search`, and/or `context_awareness`.
212
238
  capabilities: nil,
213
239
  # Mapping of guardrail metric names to threshold values. Values are floating point
214
240
  # numbers (0.0-1.0) representing custom thresholds.
215
241
  custom_hallucination_threshold_values: nil,
216
242
  # List of files available to the event, if any. Will only be present if
217
243
  # `file_search` is enabled.
218
- files: nil
244
+ files: nil,
245
+ # The maximum number of improvement attempts to be applied to one event before it
246
+ # is considered failed.
247
+ max_improvement_attempts: nil
219
248
  )
220
249
  end
221
250
 
222
251
  sig do
223
252
  override.returns(
224
253
  {
254
+ analysis_of_failures: T::Array[String],
225
255
  evaluation_history:
226
256
  T::Array[
227
257
  Deeprails::WorkflowEventDetailResponse::EvaluationHistory
228
258
  ],
229
259
  evaluation_result: T::Hash[Symbol, T.anything],
230
260
  event_id: String,
231
- event_status:
232
- Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol,
233
261
  filtered: T::Boolean,
234
262
  improved_model_output: String,
235
263
  improvement_action:
@@ -238,6 +266,9 @@ module Deeprails
238
266
  T.nilable(
239
267
  Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
240
268
  ),
269
+ key_improvements: T::Array[T.anything],
270
+ status:
271
+ Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol,
241
272
  threshold_type:
242
273
  Deeprails::WorkflowEventDetailResponse::ThresholdType::TaggedSymbol,
243
274
  workflow_id: String,
@@ -249,7 +280,8 @@ module Deeprails
249
280
  capabilities:
250
281
  T::Array[Deeprails::WorkflowEventDetailResponse::Capability],
251
282
  custom_hallucination_threshold_values: T::Hash[Symbol, Float],
252
- files: T::Array[Deeprails::WorkflowEventDetailResponse::File]
283
+ files: T::Array[Deeprails::WorkflowEventDetailResponse::File],
284
+ max_improvement_attempts: Integer
253
285
  }
254
286
  )
255
287
  end
@@ -265,6 +297,12 @@ module Deeprails
265
297
  )
266
298
  end
267
299
 
300
+ sig { returns(T.nilable(String)) }
301
+ attr_reader :analysis_of_failures
302
+
303
+ sig { params(analysis_of_failures: String).void }
304
+ attr_writer :analysis_of_failures
305
+
268
306
  sig { returns(T.nilable(String)) }
269
307
  attr_reader :attempt
270
308
 
@@ -307,6 +345,29 @@ module Deeprails
307
345
  sig { params(guardrail_metrics: T::Array[String]).void }
308
346
  attr_writer :guardrail_metrics
309
347
 
348
+ sig do
349
+ returns(
350
+ T.nilable(
351
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
352
+ )
353
+ )
354
+ end
355
+ attr_reader :improvement_tool_status
356
+
357
+ sig do
358
+ params(
359
+ improvement_tool_status:
360
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::OrSymbol
361
+ ).void
362
+ end
363
+ attr_writer :improvement_tool_status
364
+
365
+ sig { returns(T.nilable(T::Array[String])) }
366
+ attr_reader :key_improvements
367
+
368
+ sig { params(key_improvements: T::Array[String]).void }
369
+ attr_writer :key_improvements
370
+
310
371
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
311
372
  attr_reader :model_input
312
373
 
@@ -319,12 +380,6 @@ module Deeprails
319
380
  sig { params(model_output: String).void }
320
381
  attr_writer :model_output
321
382
 
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
383
  sig { returns(T.nilable(String)) }
329
384
  attr_reader :nametag
330
385
 
@@ -345,6 +400,7 @@ module Deeprails
345
400
 
346
401
  sig do
347
402
  params(
403
+ analysis_of_failures: String,
348
404
  attempt: String,
349
405
  created_at: Time,
350
406
  error_message: String,
@@ -352,15 +408,18 @@ module Deeprails
352
408
  evaluation_status: String,
353
409
  evaluation_total_cost: Float,
354
410
  guardrail_metrics: T::Array[String],
411
+ improvement_tool_status:
412
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::OrSymbol,
413
+ key_improvements: T::Array[String],
355
414
  model_input: T::Hash[Symbol, T.anything],
356
415
  model_output: String,
357
- modified_at: Time,
358
416
  nametag: String,
359
417
  progress: Integer,
360
418
  run_mode: String
361
419
  ).returns(T.attached_class)
362
420
  end
363
421
  def self.new(
422
+ analysis_of_failures: nil,
364
423
  attempt: nil,
365
424
  created_at: nil,
366
425
  error_message: nil,
@@ -368,9 +427,10 @@ module Deeprails
368
427
  evaluation_status: nil,
369
428
  evaluation_total_cost: nil,
370
429
  guardrail_metrics: nil,
430
+ improvement_tool_status: nil,
431
+ key_improvements: nil,
371
432
  model_input: nil,
372
433
  model_output: nil,
373
- modified_at: nil,
374
434
  nametag: nil,
375
435
  progress: nil,
376
436
  run_mode: nil
@@ -380,6 +440,7 @@ module Deeprails
380
440
  sig do
381
441
  override.returns(
382
442
  {
443
+ analysis_of_failures: String,
383
444
  attempt: String,
384
445
  created_at: Time,
385
446
  error_message: String,
@@ -387,9 +448,11 @@ module Deeprails
387
448
  evaluation_status: String,
388
449
  evaluation_total_cost: Float,
389
450
  guardrail_metrics: T::Array[String],
451
+ improvement_tool_status:
452
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol,
453
+ key_improvements: T::Array[String],
390
454
  model_input: T::Hash[Symbol, T.anything],
391
455
  model_output: String,
392
- modified_at: Time,
393
456
  nametag: String,
394
457
  progress: Integer,
395
458
  run_mode: String
@@ -398,37 +461,49 @@ module Deeprails
398
461
  end
399
462
  def to_hash
400
463
  end
401
- end
402
464
 
403
- # Status of the event.
404
- module EventStatus
405
- extend Deeprails::Internal::Type::Enum
465
+ module ImprovementToolStatus
466
+ extend Deeprails::Internal::Type::Enum
406
467
 
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
- )
468
+ TaggedSymbol =
469
+ T.type_alias do
470
+ T.all(
471
+ Symbol,
472
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus
473
+ )
474
+ end
475
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
476
+
477
+ IMPROVED =
478
+ T.let(
479
+ :improved,
480
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
481
+ )
482
+ IMPROVEMENT_FAILED =
483
+ T.let(
484
+ :improvement_failed,
485
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
486
+ )
487
+ NO_IMPROVEMENT_REQUIRED =
488
+ T.let(
489
+ :no_improvement_required,
490
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
491
+ )
492
+ IMPROVEMENT_REQUIRED =
493
+ T.let(
494
+ :improvement_required,
495
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
496
+ )
423
497
 
424
- sig do
425
- override.returns(
426
- T::Array[
427
- Deeprails::WorkflowEventDetailResponse::EventStatus::TaggedSymbol
428
- ]
429
- )
430
- end
431
- def self.values
498
+ sig do
499
+ override.returns(
500
+ T::Array[
501
+ Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
502
+ ]
503
+ )
504
+ end
505
+ def self.values
506
+ end
432
507
  end
433
508
  end
434
509
 
@@ -472,7 +547,12 @@ module Deeprails
472
547
  end
473
548
  end
474
549
 
475
- # Status of the improvement tool used to improve the event.
550
+ # Status of the improvement tool used to improve the event. `improvement_required`
551
+ # indicates that the evaluation is complete and the improvement action is needed
552
+ # but is not taking place. `improved` and `improvement_failed` indicate when the
553
+ # improvement action concludes, successfully and unsuccessfully, respectively.
554
+ # `no_improvement_required` means that the first evaluation passed all its
555
+ # metrics!
476
556
  module ImprovementToolStatus
477
557
  extend Deeprails::Internal::Type::Enum
478
558
 
@@ -490,9 +570,14 @@ module Deeprails
490
570
  :improved,
491
571
  Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
492
572
  )
493
- FAILED_ON_MAX_RETRIES =
573
+ IMPROVEMENT_FAILED =
574
+ T.let(
575
+ :improvement_failed,
576
+ Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
577
+ )
578
+ NO_IMPROVEMENT_REQUIRED =
494
579
  T.let(
495
- :"failed on max retries",
580
+ :no_improvement_required,
496
581
  Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
497
582
  )
498
583
  IMPROVEMENT_REQUIRED =
@@ -512,6 +597,38 @@ module Deeprails
512
597
  end
513
598
  end
514
599
 
600
+ # Status of the event.
601
+ module Status
602
+ extend Deeprails::Internal::Type::Enum
603
+
604
+ TaggedSymbol =
605
+ T.type_alias do
606
+ T.all(Symbol, Deeprails::WorkflowEventDetailResponse::Status)
607
+ end
608
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
609
+
610
+ IN_PROGRESS =
611
+ T.let(
612
+ :"In Progress",
613
+ Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol
614
+ )
615
+ COMPLETED =
616
+ T.let(
617
+ :Completed,
618
+ Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol
619
+ )
620
+
621
+ sig do
622
+ override.returns(
623
+ T::Array[
624
+ Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol
625
+ ]
626
+ )
627
+ end
628
+ def self.values
629
+ end
630
+ end
631
+
515
632
  # Type of thresholds used to evaluate the event.
516
633
  module ThresholdType
517
634
  extend Deeprails::Internal::Type::Enum
@@ -634,19 +751,45 @@ module Deeprails
634
751
  sig { params(file_size: Integer).void }
635
752
  attr_writer :file_size
636
753
 
754
+ sig { returns(T.nilable(String)) }
755
+ attr_reader :presigned_url
756
+
757
+ sig { params(presigned_url: String).void }
758
+ attr_writer :presigned_url
759
+
760
+ sig { returns(T.nilable(Time)) }
761
+ attr_reader :presigned_url_expires_at
762
+
763
+ sig { params(presigned_url_expires_at: Time).void }
764
+ attr_writer :presigned_url_expires_at
765
+
637
766
  sig do
638
767
  params(
639
768
  file_id: String,
640
769
  file_name: String,
641
- file_size: Integer
770
+ file_size: Integer,
771
+ presigned_url: String,
772
+ presigned_url_expires_at: Time
642
773
  ).returns(T.attached_class)
643
774
  end
644
- def self.new(file_id: nil, file_name: nil, file_size: nil)
775
+ def self.new(
776
+ file_id: nil,
777
+ file_name: nil,
778
+ file_size: nil,
779
+ presigned_url: nil,
780
+ presigned_url_expires_at: nil
781
+ )
645
782
  end
646
783
 
647
784
  sig do
648
785
  override.returns(
649
- { file_id: String, file_name: String, file_size: Integer }
786
+ {
787
+ file_id: String,
788
+ file_name: String,
789
+ file_size: Integer,
790
+ presigned_url: String,
791
+ presigned_url_expires_at: Time
792
+ }
650
793
  )
651
794
  end
652
795
  def to_hash
@@ -8,6 +8,10 @@ module Deeprails
8
8
  T.any(Deeprails::WorkflowEventResponse, Deeprails::Internal::AnyHash)
9
9
  end
10
10
 
11
+ # The ID of the billing request for the event.
12
+ sig { returns(String) }
13
+ attr_accessor :billing_request_id
14
+
11
15
  # The time the event was created in UTC.
12
16
  sig { returns(Time) }
13
17
  attr_accessor :created_at
@@ -26,6 +30,7 @@ module Deeprails
26
30
 
27
31
  sig do
28
32
  params(
33
+ billing_request_id: String,
29
34
  created_at: Time,
30
35
  event_id: String,
31
36
  status: Deeprails::WorkflowEventResponse::Status::OrSymbol,
@@ -33,6 +38,8 @@ module Deeprails
33
38
  ).returns(T.attached_class)
34
39
  end
35
40
  def self.new(
41
+ # The ID of the billing request for the event.
42
+ billing_request_id:,
36
43
  # The time the event was created in UTC.
37
44
  created_at:,
38
45
  # A unique workflow event ID.
@@ -47,6 +54,7 @@ module Deeprails
47
54
  sig do
48
55
  override.returns(
49
56
  {
57
+ billing_request_id: String,
50
58
  created_at: Time,
51
59
  event_id: String,
52
60
  status: Deeprails::WorkflowEventResponse::Status::TaggedSymbol,
@@ -11,6 +11,9 @@ module Deeprails
11
11
 
12
12
  DefendRetrieveWorkflowParams = Deeprails::Models::DefendRetrieveWorkflowParams
13
13
 
14
+ DefendSubmitAndStreamEventParams =
15
+ Deeprails::Models::DefendSubmitAndStreamEventParams
16
+
14
17
  DefendSubmitEventParams = Deeprails::Models::DefendSubmitEventParams
15
18
 
16
19
  DefendUpdateResponse = Deeprails::Models::DefendUpdateResponse