deeprails 0.18.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +62 -0
  3. data/README.md +1 -1
  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 +134 -10
  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/monitor_create_params.rb +14 -1
  17. data/lib/deeprails/models/monitor_detail_response.rb +53 -14
  18. data/lib/deeprails/models/monitor_event_detail_response.rb +6 -2
  19. data/lib/deeprails/models/monitor_submit_event_params.rb +52 -16
  20. data/lib/deeprails/models/monitor_update_params.rb +46 -5
  21. data/lib/deeprails/models/workflow_event_detail_response.rb +88 -16
  22. data/lib/deeprails/models/workflow_event_response.rb +9 -1
  23. data/lib/deeprails/models.rb +2 -0
  24. data/lib/deeprails/resources/defend.rb +67 -4
  25. data/lib/deeprails/resources/monitor.rb +14 -6
  26. data/lib/deeprails/version.rb +1 -1
  27. data/lib/deeprails.rb +5 -0
  28. data/manifest.yaml +1 -0
  29. data/rbi/deeprails/internal/stream.rbi +20 -0
  30. data/rbi/deeprails/internal/transport/base_client.rbi +18 -2
  31. data/rbi/deeprails/internal/type/base_stream.rbi +75 -0
  32. data/rbi/deeprails/models/defend_create_workflow_params.rbi +21 -0
  33. data/rbi/deeprails/models/defend_response.rbi +286 -14
  34. data/rbi/deeprails/models/defend_submit_and_stream_event_params.rbi +148 -0
  35. data/rbi/deeprails/models/defend_submit_and_stream_event_response.rbi +7 -0
  36. data/rbi/deeprails/models/defend_submit_event_params.rbi +108 -25
  37. data/rbi/deeprails/models/defend_update_response.rbi +14 -3
  38. data/rbi/deeprails/models/defend_update_workflow_params.rbi +298 -4
  39. data/rbi/deeprails/models/monitor_create_params.rbi +21 -0
  40. data/rbi/deeprails/models/monitor_detail_response.rbi +103 -22
  41. data/rbi/deeprails/models/monitor_event_detail_response.rbi +4 -2
  42. data/rbi/deeprails/models/monitor_submit_event_params.rbi +108 -25
  43. data/rbi/deeprails/models/monitor_update_params.rbi +107 -4
  44. data/rbi/deeprails/models/workflow_event_detail_response.rbi +170 -24
  45. data/rbi/deeprails/models/workflow_event_response.rbi +8 -0
  46. data/rbi/deeprails/models.rbi +3 -0
  47. data/rbi/deeprails/resources/defend.rbi +96 -6
  48. data/rbi/deeprails/resources/monitor.rbi +28 -8
  49. data/sig/deeprails/internal/stream.rbs +9 -0
  50. data/sig/deeprails/internal/type/base_stream.rbs +38 -0
  51. data/sig/deeprails/models/defend_create_workflow_params.rbs +7 -0
  52. data/sig/deeprails/models/defend_response.rbs +114 -8
  53. data/sig/deeprails/models/defend_submit_and_stream_event_params.rbs +74 -0
  54. data/sig/deeprails/models/defend_submit_and_stream_event_response.rbs +5 -0
  55. data/sig/deeprails/models/defend_submit_event_params.rbs +39 -10
  56. data/sig/deeprails/models/defend_update_response.rbs +10 -3
  57. data/sig/deeprails/models/defend_update_workflow_params.rbs +103 -1
  58. data/sig/deeprails/models/monitor_create_params.rbs +7 -0
  59. data/sig/deeprails/models/monitor_detail_response.rbs +36 -9
  60. data/sig/deeprails/models/monitor_submit_event_params.rbs +39 -10
  61. data/sig/deeprails/models/monitor_update_params.rbs +45 -1
  62. data/sig/deeprails/models/workflow_event_detail_response.rbs +88 -15
  63. data/sig/deeprails/models/workflow_event_response.rbs +5 -0
  64. data/sig/deeprails/models.rbs +2 -0
  65. data/sig/deeprails/resources/defend.rbs +20 -0
  66. data/sig/deeprails/resources/monitor.rbs +4 -0
  67. metadata +28 -2
@@ -173,9 +173,22 @@ module Deeprails
173
173
  end
174
174
 
175
175
  type model_input =
176
- { ground_truth: String, system_prompt: String, user_prompt: String }
176
+ {
177
+ user_prompt: String,
178
+ context: ::Array[Deeprails::MonitorDetailResponse::Evaluation::ModelInput::Context],
179
+ ground_truth: String,
180
+ system_prompt: String
181
+ }
177
182
 
178
183
  class ModelInput < Deeprails::Internal::Type::BaseModel
184
+ attr_accessor user_prompt: String
185
+
186
+ attr_reader context: ::Array[Deeprails::MonitorDetailResponse::Evaluation::ModelInput::Context]?
187
+
188
+ def context=: (
189
+ ::Array[Deeprails::MonitorDetailResponse::Evaluation::ModelInput::Context]
190
+ ) -> ::Array[Deeprails::MonitorDetailResponse::Evaluation::ModelInput::Context]
191
+
179
192
  attr_reader ground_truth: String?
180
193
 
181
194
  def ground_truth=: (String) -> String
@@ -184,21 +197,35 @@ module Deeprails
184
197
 
185
198
  def system_prompt=: (String) -> String
186
199
 
187
- attr_reader user_prompt: String?
188
-
189
- def user_prompt=: (String) -> String
190
-
191
200
  def initialize: (
201
+ user_prompt: String,
202
+ ?context: ::Array[Deeprails::MonitorDetailResponse::Evaluation::ModelInput::Context],
192
203
  ?ground_truth: String,
193
- ?system_prompt: String,
194
- ?user_prompt: String
204
+ ?system_prompt: String
195
205
  ) -> void
196
206
 
197
207
  def to_hash: -> {
208
+ user_prompt: String,
209
+ context: ::Array[Deeprails::MonitorDetailResponse::Evaluation::ModelInput::Context],
198
210
  ground_truth: String,
199
- system_prompt: String,
200
- user_prompt: String
211
+ system_prompt: String
201
212
  }
213
+
214
+ type context = { content: String, role: String }
215
+
216
+ class Context < Deeprails::Internal::Type::BaseModel
217
+ attr_reader content: String?
218
+
219
+ def content=: (String) -> String
220
+
221
+ attr_reader role: String?
222
+
223
+ def role=: (String) -> String
224
+
225
+ def initialize: (?content: String, ?role: String) -> void
226
+
227
+ def to_hash: -> { content: String, role: String }
228
+ end
202
229
  end
203
230
 
204
231
  type run_mode = :precision_plus | :precision | :smart | :economy
@@ -44,9 +44,22 @@ module Deeprails
44
44
  }
45
45
 
46
46
  type model_input =
47
- { ground_truth: String, system_prompt: String, user_prompt: String }
47
+ {
48
+ user_prompt: String,
49
+ context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context],
50
+ ground_truth: String,
51
+ system_prompt: String
52
+ }
48
53
 
49
54
  class ModelInput < Deeprails::Internal::Type::BaseModel
55
+ attr_accessor user_prompt: String
56
+
57
+ attr_reader context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context]?
58
+
59
+ def context=: (
60
+ ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context]
61
+ ) -> ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context]
62
+
50
63
  attr_reader ground_truth: String?
51
64
 
52
65
  def ground_truth=: (String) -> String
@@ -55,28 +68,44 @@ module Deeprails
55
68
 
56
69
  def system_prompt=: (String) -> String
57
70
 
58
- attr_reader user_prompt: String?
59
-
60
- def user_prompt=: (String) -> String
61
-
62
71
  def initialize: (
72
+ user_prompt: String,
73
+ ?context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context],
63
74
  ?ground_truth: String,
64
- ?system_prompt: String,
65
- ?user_prompt: String
75
+ ?system_prompt: String
66
76
  ) -> void
67
77
 
68
78
  def to_hash: -> {
79
+ user_prompt: String,
80
+ context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context],
69
81
  ground_truth: String,
70
- system_prompt: String,
71
- user_prompt: String
82
+ system_prompt: String
72
83
  }
84
+
85
+ type context = { content: String, role: String }
86
+
87
+ class Context < Deeprails::Internal::Type::BaseModel
88
+ attr_reader content: String?
89
+
90
+ def content=: (String) -> String
91
+
92
+ attr_reader role: String?
93
+
94
+ def role=: (String) -> String
95
+
96
+ def initialize: (?content: String, ?role: String) -> void
97
+
98
+ def to_hash: -> { content: String, role: String }
99
+ end
73
100
  end
74
101
 
75
- type run_mode = :precision_plus | :precision | :smart | :economy
102
+ type run_mode =
103
+ :precision_plus_codex | :precision_plus | :precision | :smart | :economy
76
104
 
77
105
  module RunMode
78
106
  extend Deeprails::Internal::Type::Enum
79
107
 
108
+ PRECISION_PLUS_CODEX: :precision_plus_codex
80
109
  PRECISION_PLUS: :precision_plus
81
110
  PRECISION: :precision
82
111
  SMART: :smart
@@ -3,8 +3,11 @@ module Deeprails
3
3
  type monitor_update_params =
4
4
  {
5
5
  description: String,
6
+ file_search: ::Array[String],
7
+ guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
6
8
  name: String,
7
- status: Deeprails::Models::MonitorUpdateParams::status
9
+ status: Deeprails::Models::MonitorUpdateParams::status,
10
+ web_search: bool
8
11
  }
9
12
  & Deeprails::Internal::Type::request_parameters
10
13
 
@@ -16,6 +19,16 @@ module Deeprails
16
19
 
17
20
  def description=: (String) -> String
18
21
 
22
+ attr_reader file_search: ::Array[String]?
23
+
24
+ def file_search=: (::Array[String]) -> ::Array[String]
25
+
26
+ attr_reader guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]?
27
+
28
+ def guardrail_metrics=: (
29
+ ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]
30
+ ) -> ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]
31
+
19
32
  attr_reader name: String?
20
33
 
21
34
  def name=: (String) -> String
@@ -26,20 +39,51 @@ module Deeprails
26
39
  Deeprails::Models::MonitorUpdateParams::status
27
40
  ) -> Deeprails::Models::MonitorUpdateParams::status
28
41
 
42
+ attr_reader web_search: bool?
43
+
44
+ def web_search=: (bool) -> bool
45
+
29
46
  def initialize: (
30
47
  ?description: String,
48
+ ?file_search: ::Array[String],
49
+ ?guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
31
50
  ?name: String,
32
51
  ?status: Deeprails::Models::MonitorUpdateParams::status,
52
+ ?web_search: bool,
33
53
  ?request_options: Deeprails::request_opts
34
54
  ) -> void
35
55
 
36
56
  def to_hash: -> {
37
57
  description: String,
58
+ file_search: ::Array[String],
59
+ guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
38
60
  name: String,
39
61
  status: Deeprails::Models::MonitorUpdateParams::status,
62
+ web_search: bool,
40
63
  request_options: Deeprails::RequestOptions
41
64
  }
42
65
 
66
+ type guardrail_metric =
67
+ :correctness
68
+ | :completeness
69
+ | :instruction_adherence
70
+ | :context_adherence
71
+ | :ground_truth_adherence
72
+ | :comprehensive_safety
73
+
74
+ module GuardrailMetric
75
+ extend Deeprails::Internal::Type::Enum
76
+
77
+ CORRECTNESS: :correctness
78
+ COMPLETENESS: :completeness
79
+ INSTRUCTION_ADHERENCE: :instruction_adherence
80
+ CONTEXT_ADHERENCE: :context_adherence
81
+ GROUND_TRUTH_ADHERENCE: :ground_truth_adherence
82
+ COMPREHENSIVE_SAFETY: :comprehensive_safety
83
+
84
+ def self?.values: -> ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]
85
+ end
86
+
43
87
  type status = :active | :inactive
44
88
 
45
89
  module Status
@@ -2,6 +2,7 @@ module Deeprails
2
2
  module Models
3
3
  type workflow_event_detail_response =
4
4
  {
5
+ analysis_of_failures: ::Array[String],
5
6
  evaluation_history: ::Array[Deeprails::WorkflowEventDetailResponse::EvaluationHistory],
6
7
  evaluation_result: ::Hash[Symbol, top],
7
8
  event_id: String,
@@ -9,16 +10,20 @@ module Deeprails
9
10
  improved_model_output: String,
10
11
  improvement_action: Deeprails::Models::WorkflowEventDetailResponse::improvement_action,
11
12
  improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::improvement_tool_status?,
13
+ key_improvements: ::Array[top],
12
14
  status: Deeprails::Models::WorkflowEventDetailResponse::status,
13
15
  threshold_type: Deeprails::Models::WorkflowEventDetailResponse::threshold_type,
14
16
  workflow_id: String,
15
17
  automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::WorkflowEventDetailResponse::automatic_hallucination_tolerance_level],
16
18
  capabilities: ::Array[Deeprails::WorkflowEventDetailResponse::Capability],
17
19
  custom_hallucination_threshold_values: ::Hash[Symbol, Float],
18
- files: ::Array[Deeprails::WorkflowEventDetailResponse::File]
20
+ files: ::Array[Deeprails::WorkflowEventDetailResponse::File],
21
+ max_improvement_attempts: Integer
19
22
  }
20
23
 
21
24
  class WorkflowEventDetailResponse < Deeprails::Internal::Type::BaseModel
25
+ attr_accessor analysis_of_failures: ::Array[String]
26
+
22
27
  attr_accessor evaluation_history: ::Array[Deeprails::WorkflowEventDetailResponse::EvaluationHistory]
23
28
 
24
29
  attr_accessor evaluation_result: ::Hash[Symbol, top]
@@ -33,6 +38,8 @@ module Deeprails
33
38
 
34
39
  attr_accessor improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::improvement_tool_status?
35
40
 
41
+ attr_accessor key_improvements: ::Array[top]
42
+
36
43
  attr_accessor status: Deeprails::Models::WorkflowEventDetailResponse::status
37
44
 
38
45
  attr_accessor threshold_type: Deeprails::Models::WorkflowEventDetailResponse::threshold_type
@@ -63,7 +70,12 @@ module Deeprails
63
70
  ::Array[Deeprails::WorkflowEventDetailResponse::File]
64
71
  ) -> ::Array[Deeprails::WorkflowEventDetailResponse::File]
65
72
 
73
+ attr_reader max_improvement_attempts: Integer?
74
+
75
+ def max_improvement_attempts=: (Integer) -> Integer
76
+
66
77
  def initialize: (
78
+ analysis_of_failures: ::Array[String],
67
79
  evaluation_history: ::Array[Deeprails::WorkflowEventDetailResponse::EvaluationHistory],
68
80
  evaluation_result: ::Hash[Symbol, top],
69
81
  event_id: String,
@@ -71,16 +83,19 @@ module Deeprails
71
83
  improved_model_output: String,
72
84
  improvement_action: Deeprails::Models::WorkflowEventDetailResponse::improvement_action,
73
85
  improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::improvement_tool_status?,
86
+ key_improvements: ::Array[top],
74
87
  status: Deeprails::Models::WorkflowEventDetailResponse::status,
75
88
  threshold_type: Deeprails::Models::WorkflowEventDetailResponse::threshold_type,
76
89
  workflow_id: String,
77
90
  ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::WorkflowEventDetailResponse::automatic_hallucination_tolerance_level],
78
91
  ?capabilities: ::Array[Deeprails::WorkflowEventDetailResponse::Capability],
79
92
  ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
80
- ?files: ::Array[Deeprails::WorkflowEventDetailResponse::File]
93
+ ?files: ::Array[Deeprails::WorkflowEventDetailResponse::File],
94
+ ?max_improvement_attempts: Integer
81
95
  ) -> void
82
96
 
83
97
  def to_hash: -> {
98
+ analysis_of_failures: ::Array[String],
84
99
  evaluation_history: ::Array[Deeprails::WorkflowEventDetailResponse::EvaluationHistory],
85
100
  evaluation_result: ::Hash[Symbol, top],
86
101
  event_id: String,
@@ -88,17 +103,20 @@ module Deeprails
88
103
  improved_model_output: String,
89
104
  improvement_action: Deeprails::Models::WorkflowEventDetailResponse::improvement_action,
90
105
  improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::improvement_tool_status?,
106
+ key_improvements: ::Array[top],
91
107
  status: Deeprails::Models::WorkflowEventDetailResponse::status,
92
108
  threshold_type: Deeprails::Models::WorkflowEventDetailResponse::threshold_type,
93
109
  workflow_id: String,
94
110
  automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::WorkflowEventDetailResponse::automatic_hallucination_tolerance_level],
95
111
  capabilities: ::Array[Deeprails::WorkflowEventDetailResponse::Capability],
96
112
  custom_hallucination_threshold_values: ::Hash[Symbol, Float],
97
- files: ::Array[Deeprails::WorkflowEventDetailResponse::File]
113
+ files: ::Array[Deeprails::WorkflowEventDetailResponse::File],
114
+ max_improvement_attempts: Integer
98
115
  }
99
116
 
100
117
  type evaluation_history =
101
118
  {
119
+ analysis_of_failures: String,
102
120
  attempt: String,
103
121
  created_at: Time,
104
122
  error_message: String,
@@ -106,15 +124,20 @@ module Deeprails
106
124
  evaluation_status: String,
107
125
  evaluation_total_cost: Float,
108
126
  guardrail_metrics: ::Array[String],
127
+ improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status,
128
+ key_improvements: ::Array[String],
109
129
  model_input: ::Hash[Symbol, top],
110
130
  model_output: String,
111
- modified_at: Time,
112
131
  nametag: String,
113
132
  progress: Integer,
114
133
  run_mode: String
115
134
  }
116
135
 
117
136
  class EvaluationHistory < Deeprails::Internal::Type::BaseModel
137
+ attr_reader analysis_of_failures: String?
138
+
139
+ def analysis_of_failures=: (String) -> String
140
+
118
141
  attr_reader attempt: String?
119
142
 
120
143
  def attempt=: (String) -> String
@@ -143,6 +166,16 @@ module Deeprails
143
166
 
144
167
  def guardrail_metrics=: (::Array[String]) -> ::Array[String]
145
168
 
169
+ attr_reader improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status?
170
+
171
+ def improvement_tool_status=: (
172
+ Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status
173
+ ) -> Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status
174
+
175
+ attr_reader key_improvements: ::Array[String]?
176
+
177
+ def key_improvements=: (::Array[String]) -> ::Array[String]
178
+
146
179
  attr_reader model_input: ::Hash[Symbol, top]?
147
180
 
148
181
  def model_input=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
@@ -151,10 +184,6 @@ module Deeprails
151
184
 
152
185
  def model_output=: (String) -> String
153
186
 
154
- attr_reader modified_at: Time?
155
-
156
- def modified_at=: (Time) -> Time
157
-
158
187
  attr_reader nametag: String?
159
188
 
160
189
  def nametag=: (String) -> String
@@ -168,6 +197,7 @@ module Deeprails
168
197
  def run_mode=: (String) -> String
169
198
 
170
199
  def initialize: (
200
+ ?analysis_of_failures: String,
171
201
  ?attempt: String,
172
202
  ?created_at: Time,
173
203
  ?error_message: String,
@@ -175,15 +205,17 @@ module Deeprails
175
205
  ?evaluation_status: String,
176
206
  ?evaluation_total_cost: Float,
177
207
  ?guardrail_metrics: ::Array[String],
208
+ ?improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status,
209
+ ?key_improvements: ::Array[String],
178
210
  ?model_input: ::Hash[Symbol, top],
179
211
  ?model_output: String,
180
- ?modified_at: Time,
181
212
  ?nametag: String,
182
213
  ?progress: Integer,
183
214
  ?run_mode: String
184
215
  ) -> void
185
216
 
186
217
  def to_hash: -> {
218
+ analysis_of_failures: String,
187
219
  attempt: String,
188
220
  created_at: Time,
189
221
  error_message: String,
@@ -191,13 +223,31 @@ module Deeprails
191
223
  evaluation_status: String,
192
224
  evaluation_total_cost: Float,
193
225
  guardrail_metrics: ::Array[String],
226
+ improvement_tool_status: Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status,
227
+ key_improvements: ::Array[String],
194
228
  model_input: ::Hash[Symbol, top],
195
229
  model_output: String,
196
- modified_at: Time,
197
230
  nametag: String,
198
231
  progress: Integer,
199
232
  run_mode: String
200
233
  }
234
+
235
+ type improvement_tool_status =
236
+ :improved
237
+ | :improvement_failed
238
+ | :no_improvement_required
239
+ | :improvement_required
240
+
241
+ module ImprovementToolStatus
242
+ extend Deeprails::Internal::Type::Enum
243
+
244
+ IMPROVED: :improved
245
+ IMPROVEMENT_FAILED: :improvement_failed
246
+ NO_IMPROVEMENT_REQUIRED: :no_improvement_required
247
+ IMPROVEMENT_REQUIRED: :improvement_required
248
+
249
+ def self?.values: -> ::Array[Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory::improvement_tool_status]
250
+ end
201
251
  end
202
252
 
203
253
  type improvement_action = :regen | :fixit | :do_nothing
@@ -213,13 +263,17 @@ module Deeprails
213
263
  end
214
264
 
215
265
  type improvement_tool_status =
216
- :improved | :"failed on max retries" | :improvement_required
266
+ :improved
267
+ | :improvement_failed
268
+ | :no_improvement_required
269
+ | :improvement_required
217
270
 
218
271
  module ImprovementToolStatus
219
272
  extend Deeprails::Internal::Type::Enum
220
273
 
221
274
  IMPROVED: :improved
222
- FAILED_ON_MAX_RETRIES: :"failed on max retries"
275
+ IMPROVEMENT_FAILED: :improvement_failed
276
+ NO_IMPROVEMENT_REQUIRED: :no_improvement_required
223
277
  IMPROVEMENT_REQUIRED: :improvement_required
224
278
 
225
279
  def self?.values: -> ::Array[Deeprails::Models::WorkflowEventDetailResponse::improvement_tool_status]
@@ -271,7 +325,14 @@ module Deeprails
271
325
  def to_hash: -> { capability: String }
272
326
  end
273
327
 
274
- type file = { file_id: String, file_name: String, file_size: Integer }
328
+ type file =
329
+ {
330
+ file_id: String,
331
+ file_name: String,
332
+ file_size: Integer,
333
+ presigned_url: String,
334
+ presigned_url_expires_at: Time
335
+ }
275
336
 
276
337
  class File < Deeprails::Internal::Type::BaseModel
277
338
  attr_reader file_id: String?
@@ -286,16 +347,28 @@ module Deeprails
286
347
 
287
348
  def file_size=: (Integer) -> Integer
288
349
 
350
+ attr_reader presigned_url: String?
351
+
352
+ def presigned_url=: (String) -> String
353
+
354
+ attr_reader presigned_url_expires_at: Time?
355
+
356
+ def presigned_url_expires_at=: (Time) -> Time
357
+
289
358
  def initialize: (
290
359
  ?file_id: String,
291
360
  ?file_name: String,
292
- ?file_size: Integer
361
+ ?file_size: Integer,
362
+ ?presigned_url: String,
363
+ ?presigned_url_expires_at: Time
293
364
  ) -> void
294
365
 
295
366
  def to_hash: -> {
296
367
  file_id: String,
297
368
  file_name: String,
298
- file_size: Integer
369
+ file_size: Integer,
370
+ presigned_url: String,
371
+ presigned_url_expires_at: Time
299
372
  }
300
373
  end
301
374
  end
@@ -2,6 +2,7 @@ module Deeprails
2
2
  module Models
3
3
  type workflow_event_response =
4
4
  {
5
+ billing_request_id: String,
5
6
  created_at: Time,
6
7
  event_id: String,
7
8
  status: Deeprails::Models::WorkflowEventResponse::status,
@@ -9,6 +10,8 @@ module Deeprails
9
10
  }
10
11
 
11
12
  class WorkflowEventResponse < Deeprails::Internal::Type::BaseModel
13
+ attr_accessor billing_request_id: String
14
+
12
15
  attr_accessor created_at: Time
13
16
 
14
17
  attr_accessor event_id: String
@@ -18,6 +21,7 @@ module Deeprails
18
21
  attr_accessor workflow_id: String
19
22
 
20
23
  def initialize: (
24
+ billing_request_id: String,
21
25
  created_at: Time,
22
26
  event_id: String,
23
27
  status: Deeprails::Models::WorkflowEventResponse::status,
@@ -25,6 +29,7 @@ module Deeprails
25
29
  ) -> void
26
30
 
27
31
  def to_hash: -> {
32
+ billing_request_id: String,
28
33
  created_at: Time,
29
34
  event_id: String,
30
35
  status: Deeprails::Models::WorkflowEventResponse::status,
@@ -9,6 +9,8 @@ module Deeprails
9
9
 
10
10
  class DefendRetrieveWorkflowParams = Deeprails::Models::DefendRetrieveWorkflowParams
11
11
 
12
+ class DefendSubmitAndStreamEventParams = Deeprails::Models::DefendSubmitAndStreamEventParams
13
+
12
14
  class DefendSubmitEventParams = Deeprails::Models::DefendSubmitEventParams
13
15
 
14
16
  class DefendUpdateResponse = Deeprails::Models::DefendUpdateResponse
@@ -6,6 +6,7 @@ module Deeprails
6
6
  name: String,
7
7
  threshold_type: Deeprails::Models::DefendCreateWorkflowParams::threshold_type,
8
8
  ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
9
+ ?context_awareness: bool,
9
10
  ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
10
11
  ?description: String,
11
12
  ?file_search: ::Array[String],
@@ -26,6 +27,17 @@ module Deeprails
26
27
  ?request_options: Deeprails::request_opts
27
28
  ) -> Deeprails::DefendResponse
28
29
 
30
+ def submit_and_stream_event_streaming: (
31
+ String workflow_id,
32
+ model_input: ::Hash[Symbol, top],
33
+ model_output: String,
34
+ model_used: String,
35
+ run_mode: Deeprails::Models::DefendSubmitAndStreamEventParams::run_mode,
36
+ ?stream: bool,
37
+ ?nametag: String,
38
+ ?request_options: Deeprails::request_opts
39
+ ) -> Deeprails::Internal::Stream[String]
40
+
29
41
  def submit_event: (
30
42
  String workflow_id,
31
43
  model_input: Deeprails::DefendSubmitEventParams::ModelInput,
@@ -38,8 +50,16 @@ module Deeprails
38
50
 
39
51
  def update_workflow: (
40
52
  String workflow_id,
53
+ ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendUpdateWorkflowParams::automatic_hallucination_tolerance_level],
54
+ ?context_awareness: bool,
55
+ ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
41
56
  ?description: String,
57
+ ?file_search: ::Array[String],
58
+ ?improvement_action: Deeprails::Models::DefendUpdateWorkflowParams::improvement_action,
59
+ ?max_improvement_attempts: Integer,
42
60
  ?name: String,
61
+ ?threshold_type: Deeprails::Models::DefendUpdateWorkflowParams::threshold_type,
62
+ ?web_search: bool,
43
63
  ?request_options: Deeprails::request_opts
44
64
  ) -> Deeprails::DefendUpdateResponse
45
65
 
@@ -4,6 +4,7 @@ module Deeprails
4
4
  def create: (
5
5
  guardrail_metrics: ::Array[Deeprails::Models::MonitorCreateParams::guardrail_metric],
6
6
  name: String,
7
+ ?context_awareness: bool,
7
8
  ?description: String,
8
9
  ?file_search: ::Array[String],
9
10
  ?web_search: bool,
@@ -19,8 +20,11 @@ module Deeprails
19
20
  def update: (
20
21
  String monitor_id,
21
22
  ?description: String,
23
+ ?file_search: ::Array[String],
24
+ ?guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
22
25
  ?name: String,
23
26
  ?status: Deeprails::Models::MonitorUpdateParams::status,
27
+ ?web_search: bool,
24
28
  ?request_options: Deeprails::request_opts
25
29
  ) -> Deeprails::MonitorUpdateResponse
26
30