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,314 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Deeprails
4
+ module Models
5
+ # @see Deeprails::Resources::Defend#retrieve_event
6
+ class WorkflowEventDetailResponse < Deeprails::Internal::Type::BaseModel
7
+ # @!attribute evaluation_history
8
+ # History of evaluations for the event.
9
+ #
10
+ # @return [Array<Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory>]
11
+ required :evaluation_history,
12
+ -> { Deeprails::Internal::Type::ArrayOf[Deeprails::WorkflowEventDetailResponse::EvaluationHistory] }
13
+
14
+ # @!attribute evaluation_result
15
+ # Evaluation result consisting of average scores and rationales for each of the
16
+ # evaluated guardrail metrics.
17
+ #
18
+ # @return [Hash{Symbol=>Object}]
19
+ required :evaluation_result, Deeprails::Internal::Type::HashOf[Deeprails::Internal::Type::Unknown]
20
+
21
+ # @!attribute event_id
22
+ # A unique workflow event ID.
23
+ #
24
+ # @return [String]
25
+ required :event_id, String
26
+
27
+ # @!attribute event_status
28
+ # Status of the event.
29
+ #
30
+ # @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::EventStatus]
31
+ required :event_status, enum: -> { Deeprails::WorkflowEventDetailResponse::EventStatus }
32
+
33
+ # @!attribute filtered
34
+ # Whether the event was filtered and requires improvement.
35
+ #
36
+ # @return [Boolean]
37
+ required :filtered, Deeprails::Internal::Type::Boolean
38
+
39
+ # @!attribute improved_model_output
40
+ # Improved model output after improvement tool was applied and each metric passed
41
+ # evaluation.
42
+ #
43
+ # @return [String]
44
+ required :improved_model_output, String
45
+
46
+ # @!attribute improvement_tool_status
47
+ # Status of the improvement tool used to improve the event.
48
+ #
49
+ # @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolStatus, nil]
50
+ required :improvement_tool_status,
51
+ enum: -> { Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus },
52
+ nil?: true
53
+
54
+ # @!attribute improvement_tool_type
55
+ # Type of improvement tool used to improve the event.
56
+ #
57
+ # @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolType]
58
+ required :improvement_tool_type, enum: -> { Deeprails::WorkflowEventDetailResponse::ImprovementToolType }
59
+
60
+ # @!attribute threshold_type
61
+ # Type of thresholds used to evaluate the event.
62
+ #
63
+ # @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ThresholdType]
64
+ required :threshold_type, enum: -> { Deeprails::WorkflowEventDetailResponse::ThresholdType }
65
+
66
+ # @!attribute workflow_id
67
+ # Workflow ID associated with the event.
68
+ #
69
+ # @return [String]
70
+ required :workflow_id, String
71
+
72
+ # @!attribute automatic_hallucination_tolerance_levels
73
+ # Mapping of guardrail metric names to tolerance values. Values are strings
74
+ # (`low`, `medium`, `high`) representing automatic tolerance levels.
75
+ #
76
+ # @return [Hash{Symbol=>Symbol, Deeprails::Models::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel}, nil]
77
+ optional :automatic_hallucination_tolerance_levels,
78
+ -> { Deeprails::Internal::Type::HashOf[enum: Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel] }
79
+
80
+ # @!attribute capabilities
81
+ # Extended AI capabilities available to the event, if any. Can be `web_search`
82
+ # and/or `file_search`.
83
+ #
84
+ # @return [Array<Deeprails::Models::WorkflowEventDetailResponse::Capability>, nil]
85
+ optional :capabilities,
86
+ -> { Deeprails::Internal::Type::ArrayOf[Deeprails::WorkflowEventDetailResponse::Capability] }
87
+
88
+ # @!attribute custom_hallucination_threshold_values
89
+ # Mapping of guardrail metric names to threshold values. Values are floating point
90
+ # numbers (0.0-1.0) representing custom thresholds.
91
+ #
92
+ # @return [Hash{Symbol=>Float}, nil]
93
+ optional :custom_hallucination_threshold_values, Deeprails::Internal::Type::HashOf[Float]
94
+
95
+ # @!attribute files
96
+ # List of files available to the event, if any. Will only be present if
97
+ # `file_search` is enabled.
98
+ #
99
+ # @return [Array<Deeprails::Models::WorkflowEventDetailResponse::File>, nil]
100
+ optional :files, -> { Deeprails::Internal::Type::ArrayOf[Deeprails::WorkflowEventDetailResponse::File] }
101
+
102
+ # @!method initialize(evaluation_history:, evaluation_result:, event_id:, event_status:, filtered:, improved_model_output:, improvement_tool_status:, improvement_tool_type:, threshold_type:, workflow_id:, automatic_hallucination_tolerance_levels: nil, capabilities: nil, custom_hallucination_threshold_values: nil, files: nil)
103
+ # Some parameter documentations has been truncated, see
104
+ # {Deeprails::Models::WorkflowEventDetailResponse} for more details.
105
+ #
106
+ # @param evaluation_history [Array<Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory>] History of evaluations for the event.
107
+ #
108
+ # @param evaluation_result [Hash{Symbol=>Object}] Evaluation result consisting of average scores and rationales for each of the ev
109
+ #
110
+ # @param event_id [String] A unique workflow event ID.
111
+ #
112
+ # @param event_status [Symbol, Deeprails::Models::WorkflowEventDetailResponse::EventStatus] Status of the event.
113
+ #
114
+ # @param filtered [Boolean] Whether the event was filtered and requires improvement.
115
+ #
116
+ # @param improved_model_output [String] Improved model output after improvement tool was applied and each metric passed
117
+ #
118
+ # @param improvement_tool_status [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolStatus, nil] Status of the improvement tool used to improve the event.
119
+ #
120
+ # @param improvement_tool_type [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolType] Type of improvement tool used to improve the event.
121
+ #
122
+ # @param threshold_type [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ThresholdType] Type of thresholds used to evaluate the event.
123
+ #
124
+ # @param workflow_id [String] Workflow ID associated with the event.
125
+ #
126
+ # @param automatic_hallucination_tolerance_levels [Hash{Symbol=>Symbol, Deeprails::Models::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel}] Mapping of guardrail metric names to tolerance values. Values are strings (`low`
127
+ #
128
+ # @param capabilities [Array<Deeprails::Models::WorkflowEventDetailResponse::Capability>] Extended AI capabilities available to the event, if any. Can be `web_search` and
129
+ #
130
+ # @param custom_hallucination_threshold_values [Hash{Symbol=>Float}] Mapping of guardrail metric names to threshold values. Values are floating point
131
+ #
132
+ # @param files [Array<Deeprails::Models::WorkflowEventDetailResponse::File>] List of files available to the event, if any. Will only be present if `file_sear
133
+
134
+ class EvaluationHistory < Deeprails::Internal::Type::BaseModel
135
+ # @!attribute attempt
136
+ #
137
+ # @return [String, nil]
138
+ optional :attempt, String
139
+
140
+ # @!attribute created_at
141
+ #
142
+ # @return [Time, nil]
143
+ optional :created_at, Time
144
+
145
+ # @!attribute error_message
146
+ #
147
+ # @return [String, nil]
148
+ optional :error_message, String
149
+
150
+ # @!attribute evaluation_result
151
+ #
152
+ # @return [Hash{Symbol=>Object}, nil]
153
+ optional :evaluation_result, Deeprails::Internal::Type::HashOf[Deeprails::Internal::Type::Unknown]
154
+
155
+ # @!attribute evaluation_status
156
+ #
157
+ # @return [String, nil]
158
+ optional :evaluation_status, String
159
+
160
+ # @!attribute evaluation_total_cost
161
+ #
162
+ # @return [Float, nil]
163
+ optional :evaluation_total_cost, Float
164
+
165
+ # @!attribute guardrail_metrics
166
+ #
167
+ # @return [Array<String>, nil]
168
+ optional :guardrail_metrics, Deeprails::Internal::Type::ArrayOf[String]
169
+
170
+ # @!attribute model_input
171
+ #
172
+ # @return [Hash{Symbol=>Object}, nil]
173
+ optional :model_input, Deeprails::Internal::Type::HashOf[Deeprails::Internal::Type::Unknown]
174
+
175
+ # @!attribute model_output
176
+ #
177
+ # @return [String, nil]
178
+ optional :model_output, String
179
+
180
+ # @!attribute modified_at
181
+ #
182
+ # @return [Time, nil]
183
+ optional :modified_at, Time
184
+
185
+ # @!attribute nametag
186
+ #
187
+ # @return [String, nil]
188
+ optional :nametag, String
189
+
190
+ # @!attribute progress
191
+ #
192
+ # @return [Integer, nil]
193
+ optional :progress, Integer
194
+
195
+ # @!attribute run_mode
196
+ #
197
+ # @return [String, nil]
198
+ optional :run_mode, String
199
+
200
+ # @!method initialize(attempt: nil, created_at: nil, error_message: nil, evaluation_result: nil, evaluation_status: nil, evaluation_total_cost: nil, guardrail_metrics: nil, model_input: nil, model_output: nil, modified_at: nil, nametag: nil, progress: nil, run_mode: nil)
201
+ # @param attempt [String]
202
+ # @param created_at [Time]
203
+ # @param error_message [String]
204
+ # @param evaluation_result [Hash{Symbol=>Object}]
205
+ # @param evaluation_status [String]
206
+ # @param evaluation_total_cost [Float]
207
+ # @param guardrail_metrics [Array<String>]
208
+ # @param model_input [Hash{Symbol=>Object}]
209
+ # @param model_output [String]
210
+ # @param modified_at [Time]
211
+ # @param nametag [String]
212
+ # @param progress [Integer]
213
+ # @param run_mode [String]
214
+ end
215
+
216
+ # Status of the event.
217
+ #
218
+ # @see Deeprails::Models::WorkflowEventDetailResponse#event_status
219
+ module EventStatus
220
+ extend Deeprails::Internal::Type::Enum
221
+
222
+ IN_PROGRESS = :"In Progress"
223
+ COMPLETED = :Completed
224
+
225
+ # @!method self.values
226
+ # @return [Array<Symbol>]
227
+ end
228
+
229
+ # Status of the improvement tool used to improve the event.
230
+ #
231
+ # @see Deeprails::Models::WorkflowEventDetailResponse#improvement_tool_status
232
+ module ImprovementToolStatus
233
+ extend Deeprails::Internal::Type::Enum
234
+
235
+ IMPROVED = :improved
236
+ FAILED_ON_MAX_RETRIES = :"failed on max retries"
237
+ IMPROVEMENT_REQUIRED = :improvement_required
238
+
239
+ # @!method self.values
240
+ # @return [Array<Symbol>]
241
+ end
242
+
243
+ # Type of improvement tool used to improve the event.
244
+ #
245
+ # @see Deeprails::Models::WorkflowEventDetailResponse#improvement_tool_type
246
+ module ImprovementToolType
247
+ extend Deeprails::Internal::Type::Enum
248
+
249
+ REGEN = :regen
250
+ FIXIT = :fixit
251
+ DO_NOTHING = :do_nothing
252
+
253
+ # @!method self.values
254
+ # @return [Array<Symbol>]
255
+ end
256
+
257
+ # Type of thresholds used to evaluate the event.
258
+ #
259
+ # @see Deeprails::Models::WorkflowEventDetailResponse#threshold_type
260
+ module ThresholdType
261
+ extend Deeprails::Internal::Type::Enum
262
+
263
+ CUSTOM = :custom
264
+ AUTOMATIC = :automatic
265
+
266
+ # @!method self.values
267
+ # @return [Array<Symbol>]
268
+ end
269
+
270
+ module AutomaticHallucinationToleranceLevel
271
+ extend Deeprails::Internal::Type::Enum
272
+
273
+ LOW = :low
274
+ MEDIUM = :medium
275
+ HIGH = :high
276
+
277
+ # @!method self.values
278
+ # @return [Array<Symbol>]
279
+ end
280
+
281
+ class Capability < Deeprails::Internal::Type::BaseModel
282
+ # @!attribute capability
283
+ #
284
+ # @return [String, nil]
285
+ optional :capability, String
286
+
287
+ # @!method initialize(capability: nil)
288
+ # @param capability [String]
289
+ end
290
+
291
+ class File < Deeprails::Internal::Type::BaseModel
292
+ # @!attribute file_id
293
+ #
294
+ # @return [String, nil]
295
+ optional :file_id, String
296
+
297
+ # @!attribute file_name
298
+ #
299
+ # @return [String, nil]
300
+ optional :file_name, String
301
+
302
+ # @!attribute file_size
303
+ #
304
+ # @return [Integer, nil]
305
+ optional :file_size, Integer
306
+
307
+ # @!method initialize(file_id: nil, file_name: nil, file_size: nil)
308
+ # @param file_id [String]
309
+ # @param file_name [String]
310
+ # @param file_size [Integer]
311
+ end
312
+ end
313
+ end
314
+ end
@@ -2,54 +2,53 @@
2
2
 
3
3
  module Deeprails
4
4
  module Models
5
- # @see Deeprails::Resources::Defend#retrieve_event
5
+ # @see Deeprails::Resources::Defend#submit_event
6
6
  class WorkflowEventResponse < Deeprails::Internal::Type::BaseModel
7
+ # @!attribute created_at
8
+ # The time the event was created in UTC.
9
+ #
10
+ # @return [Time]
11
+ required :created_at, Time
12
+
7
13
  # @!attribute event_id
8
14
  # A unique workflow event ID.
9
15
  #
10
16
  # @return [String]
11
17
  required :event_id, String
12
18
 
19
+ # @!attribute status
20
+ # Status of the event.
21
+ #
22
+ # @return [Symbol, Deeprails::Models::WorkflowEventResponse::Status]
23
+ required :status, enum: -> { Deeprails::WorkflowEventResponse::Status }
24
+
13
25
  # @!attribute workflow_id
14
26
  # Workflow ID associated with the event.
15
27
  #
16
28
  # @return [String]
17
29
  required :workflow_id, String
18
30
 
19
- # @!attribute attempt_number
20
- # Count of improvement attempts for the event. If greater than one then all
21
- # previous improvement attempts failed.
22
- #
23
- # @return [Integer, nil]
24
- optional :attempt_number, Integer
25
-
26
- # @!attribute evaluation_id
27
- # A unique evaluation ID associated with this event. Every event has one or more
28
- # evaluation attempts.
29
- #
30
- # @return [String, nil]
31
- optional :evaluation_id, String
32
-
33
- # @!attribute filtered
34
- # `False` if evaluation passed all of the guardrail metrics, `True` if evaluation
35
- # failed any of the guardrail metrics.
36
- #
37
- # @return [Boolean, nil]
38
- optional :filtered, Deeprails::Internal::Type::Boolean
39
-
40
- # @!method initialize(event_id:, workflow_id:, attempt_number: nil, evaluation_id: nil, filtered: nil)
41
- # Some parameter documentations has been truncated, see
42
- # {Deeprails::Models::WorkflowEventResponse} for more details.
31
+ # @!method initialize(created_at:, event_id:, status:, workflow_id:)
32
+ # @param created_at [Time] The time the event was created in UTC.
43
33
  #
44
34
  # @param event_id [String] A unique workflow event ID.
45
35
  #
46
- # @param workflow_id [String] Workflow ID associated with the event.
47
- #
48
- # @param attempt_number [Integer] Count of improvement attempts for the event. If greater than one then all previ
36
+ # @param status [Symbol, Deeprails::Models::WorkflowEventResponse::Status] Status of the event.
49
37
  #
50
- # @param evaluation_id [String] A unique evaluation ID associated with this event. Every event has one or more
38
+ # @param workflow_id [String] Workflow ID associated with the event.
39
+
40
+ # Status of the event.
51
41
  #
52
- # @param filtered [Boolean] `False` if evaluation passed all of the guardrail metrics, `True` if evaluation
42
+ # @see Deeprails::Models::WorkflowEventResponse#status
43
+ module Status
44
+ extend Deeprails::Internal::Type::Enum
45
+
46
+ IN_PROGRESS = :"In Progress"
47
+ COMPLETED = :Completed
48
+
49
+ # @!method self.values
50
+ # @return [Array<Symbol>]
51
+ end
53
52
  end
54
53
  end
55
54
  end
@@ -39,6 +39,8 @@ module Deeprails
39
39
  mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
40
  end
41
41
 
42
+ DefendCreateResponse = Deeprails::Models::DefendCreateResponse
43
+
42
44
  DefendCreateWorkflowParams = Deeprails::Models::DefendCreateWorkflowParams
43
45
 
44
46
  DefendResponse = Deeprails::Models::DefendResponse
@@ -49,6 +51,8 @@ module Deeprails
49
51
 
50
52
  DefendSubmitEventParams = Deeprails::Models::DefendSubmitEventParams
51
53
 
54
+ DefendUpdateResponse = Deeprails::Models::DefendUpdateResponse
55
+
52
56
  DefendUpdateWorkflowParams = Deeprails::Models::DefendUpdateWorkflowParams
53
57
 
54
58
  FileResponse = Deeprails::Models::FileResponse
@@ -57,11 +61,15 @@ module Deeprails
57
61
 
58
62
  MonitorCreateParams = Deeprails::Models::MonitorCreateParams
59
63
 
64
+ MonitorCreateResponse = Deeprails::Models::MonitorCreateResponse
65
+
60
66
  MonitorDetailResponse = Deeprails::Models::MonitorDetailResponse
61
67
 
68
+ MonitorEventDetailResponse = Deeprails::Models::MonitorEventDetailResponse
69
+
62
70
  MonitorEventResponse = Deeprails::Models::MonitorEventResponse
63
71
 
64
- MonitorResponse = Deeprails::Models::MonitorResponse
72
+ MonitorRetrieveEventParams = Deeprails::Models::MonitorRetrieveEventParams
65
73
 
66
74
  MonitorRetrieveParams = Deeprails::Models::MonitorRetrieveParams
67
75
 
@@ -69,5 +77,9 @@ module Deeprails
69
77
 
70
78
  MonitorUpdateParams = Deeprails::Models::MonitorUpdateParams
71
79
 
80
+ MonitorUpdateResponse = Deeprails::Models::MonitorUpdateResponse
81
+
82
+ WorkflowEventDetailResponse = Deeprails::Models::WorkflowEventDetailResponse
83
+
72
84
  WorkflowEventResponse = Deeprails::Models::WorkflowEventResponse
73
85
  end
@@ -9,13 +9,13 @@ module Deeprails
9
9
  # Use this endpoint to create a new guardrail workflow with optional guardrail
10
10
  # thresholds and improvement actions
11
11
  #
12
- # @overload create_workflow(improvement_action:, name:, type:, automatic_hallucination_tolerance_levels: nil, custom_hallucination_threshold_values: nil, description: nil, file_search: nil, max_improvement_attempts: nil, web_search: nil, request_options: {})
12
+ # @overload create_workflow(improvement_action:, name:, threshold_type:, automatic_hallucination_tolerance_levels: nil, custom_hallucination_threshold_values: nil, description: nil, file_search: nil, max_improvement_attempts: nil, web_search: nil, request_options: {})
13
13
  #
14
- # @param improvement_action [Symbol, Deeprails::Models::DefendCreateWorkflowParams::ImprovementAction] The action used to improve outputs that fail one or guardrail metrics for the wo
14
+ # @param improvement_action [Symbol, Deeprails::Models::DefendCreateWorkflowParams::ImprovementAction] The action used to improve outputs that fail one or more guardrail metrics for t
15
15
  #
16
16
  # @param name [String] Name of the workflow.
17
17
  #
18
- # @param type [Symbol, Deeprails::Models::DefendCreateWorkflowParams::Type] Type of thresholds to use for the workflow, either `automatic` or `custom`. Aut
18
+ # @param threshold_type [Symbol, Deeprails::Models::DefendCreateWorkflowParams::ThresholdType] Type of thresholds to use for the workflow, either `automatic` or `custom`. Aut
19
19
  #
20
20
  # @param automatic_hallucination_tolerance_levels [Hash{Symbol=>Symbol, Deeprails::Models::DefendCreateWorkflowParams::AutomaticHallucinationToleranceLevel}] Mapping of guardrail metrics to hallucination tolerance levels
21
21
  #
@@ -25,13 +25,13 @@ module Deeprails
25
25
  #
26
26
  # @param file_search [Array<String>] An array of file IDs to search in the workflow's evaluations. Files must be uplo
27
27
  #
28
- # @param max_improvement_attempts [Integer] Max. number of improvement action retries until a given event passes the guardra
28
+ # @param max_improvement_attempts [Integer] Max. number of improvement action attempts until a given event passes the guardr
29
29
  #
30
30
  # @param web_search [Boolean] Whether to enable web search for this workflow's evaluations. Defaults to false.
31
31
  #
32
32
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
33
33
  #
34
- # @return [Deeprails::Models::DefendResponse]
34
+ # @return [Deeprails::Models::DefendCreateResponse]
35
35
  #
36
36
  # @see Deeprails::Models::DefendCreateWorkflowParams
37
37
  def create_workflow(params)
@@ -40,7 +40,7 @@ module Deeprails
40
40
  method: :post,
41
41
  path: "defend",
42
42
  body: parsed,
43
- model: Deeprails::DefendResponse,
43
+ model: Deeprails::DefendCreateResponse,
44
44
  options: options
45
45
  )
46
46
  end
@@ -55,7 +55,7 @@ module Deeprails
55
55
  #
56
56
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
57
57
  #
58
- # @return [Deeprails::Models::WorkflowEventResponse]
58
+ # @return [Deeprails::Models::WorkflowEventDetailResponse]
59
59
  #
60
60
  # @see Deeprails::Models::DefendRetrieveEventParams
61
61
  def retrieve_event(event_id, params)
@@ -67,28 +67,35 @@ module Deeprails
67
67
  @client.request(
68
68
  method: :get,
69
69
  path: ["defend/%1$s/events/%2$s", workflow_id, event_id],
70
- model: Deeprails::WorkflowEventResponse,
70
+ model: Deeprails::WorkflowEventDetailResponse,
71
71
  options: options
72
72
  )
73
73
  end
74
74
 
75
+ # Some parameter documentations has been truncated, see
76
+ # {Deeprails::Models::DefendRetrieveWorkflowParams} for more details.
77
+ #
75
78
  # Use this endpoint to retrieve the details for a specific defend workflow
76
79
  #
77
- # @overload retrieve_workflow(workflow_id, request_options: {})
80
+ # @overload retrieve_workflow(workflow_id, limit: nil, request_options: {})
78
81
  #
79
82
  # @param workflow_id [String] The ID of the workflow to retrieve.
80
83
  #
84
+ # @param limit [Integer] Limit the number of returned events associated with this workflow. Defaults to
85
+ #
81
86
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
82
87
  #
83
88
  # @return [Deeprails::Models::DefendResponse]
84
89
  #
85
90
  # @see Deeprails::Models::DefendRetrieveWorkflowParams
86
91
  def retrieve_workflow(workflow_id, params = {})
92
+ parsed, options = Deeprails::DefendRetrieveWorkflowParams.dump_request(params)
87
93
  @client.request(
88
94
  method: :get,
89
95
  path: ["defend/%1$s", workflow_id],
96
+ query: parsed,
90
97
  model: Deeprails::DefendResponse,
91
- options: params[:request_options]
98
+ options: options
92
99
  )
93
100
  end
94
101
 
@@ -128,7 +135,7 @@ module Deeprails
128
135
  )
129
136
  end
130
137
 
131
- # Use this endpoint to update an existing guardrail workflow
138
+ # Use this endpoint to update an existing defend workflow
132
139
  #
133
140
  # @overload update_workflow(workflow_id, description: nil, name: nil, request_options: {})
134
141
  #
@@ -140,7 +147,7 @@ module Deeprails
140
147
  #
141
148
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
142
149
  #
143
- # @return [Deeprails::Models::DefendResponse]
150
+ # @return [Deeprails::Models::DefendUpdateResponse]
144
151
  #
145
152
  # @see Deeprails::Models::DefendUpdateWorkflowParams
146
153
  def update_workflow(workflow_id, params = {})
@@ -149,7 +156,7 @@ module Deeprails
149
156
  method: :put,
150
157
  path: ["defend/%1$s", workflow_id],
151
158
  body: parsed,
152
- model: Deeprails::DefendResponse,
159
+ model: Deeprails::DefendUpdateResponse,
153
160
  options: options
154
161
  )
155
162
  end
@@ -7,7 +7,7 @@ module Deeprails
7
7
  #
8
8
  # @overload upload(file:, request_options: {})
9
9
  #
10
- # @param file [Pathname, StringIO, IO, String, Deeprails::FilePart] The contents of the file to upload.
10
+ # @param file [Array<String>] The contents of the file to upload.
11
11
  #
12
12
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
13
13
  #
@@ -23,7 +23,7 @@ module Deeprails
23
23
  #
24
24
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
25
25
  #
26
- # @return [Deeprails::Models::MonitorResponse]
26
+ # @return [Deeprails::Models::MonitorCreateResponse]
27
27
  #
28
28
  # @see Deeprails::Models::MonitorCreateParams
29
29
  def create(params)
@@ -32,11 +32,14 @@ module Deeprails
32
32
  method: :post,
33
33
  path: "monitor",
34
34
  body: parsed,
35
- model: Deeprails::MonitorResponse,
35
+ model: Deeprails::MonitorCreateResponse,
36
36
  options: options
37
37
  )
38
38
  end
39
39
 
40
+ # Some parameter documentations has been truncated, see
41
+ # {Deeprails::Models::MonitorRetrieveParams} for more details.
42
+ #
40
43
  # Use this endpoint to retrieve the details and evaluations associated with a
41
44
  # specific monitor
42
45
  #
@@ -44,7 +47,7 @@ module Deeprails
44
47
  #
45
48
  # @param monitor_id [String] The ID of the monitor to retrieve.
46
49
  #
47
- # @param limit [Integer] Limit the returned events associated with this monitor. Defaults to 10.
50
+ # @param limit [Integer] Limit the number of returned evaluations associated with this monitor. Defaults
48
51
  #
49
52
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
50
53
  #
@@ -68,19 +71,19 @@ module Deeprails
68
71
  # Use this endpoint to update the name, description, or status of an existing
69
72
  # monitor
70
73
  #
71
- # @overload update(monitor_id, description: nil, monitor_status: nil, name: nil, request_options: {})
74
+ # @overload update(monitor_id, description: nil, name: nil, status: nil, request_options: {})
72
75
  #
73
76
  # @param monitor_id [String] The ID of the monitor to edit.
74
77
  #
75
78
  # @param description [String] Description of the monitor.
76
79
  #
77
- # @param monitor_status [Symbol, Deeprails::Models::MonitorUpdateParams::MonitorStatus] Status of the monitor. Can be `active` or `inactive`. Inactive monitors no lon
78
- #
79
80
  # @param name [String] Name of the monitor.
80
81
  #
82
+ # @param status [Symbol, Deeprails::Models::MonitorUpdateParams::Status] Status of the monitor. Can be `active` or `inactive`. Inactive monitors no lon
83
+ #
81
84
  # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
82
85
  #
83
- # @return [Deeprails::Models::MonitorResponse]
86
+ # @return [Deeprails::Models::MonitorUpdateResponse]
84
87
  #
85
88
  # @see Deeprails::Models::MonitorUpdateParams
86
89
  def update(monitor_id, params = {})
@@ -89,7 +92,34 @@ module Deeprails
89
92
  method: :put,
90
93
  path: ["monitor/%1$s", monitor_id],
91
94
  body: parsed,
92
- model: Deeprails::MonitorResponse,
95
+ model: Deeprails::MonitorUpdateResponse,
96
+ options: options
97
+ )
98
+ end
99
+
100
+ # Use this endpoint to retrieve the details of a specific monitor event
101
+ #
102
+ # @overload retrieve_event(event_id, monitor_id:, request_options: {})
103
+ #
104
+ # @param event_id [String] The ID of the requested monitor event.
105
+ #
106
+ # @param monitor_id [String] The ID of the monitor associated with this event.
107
+ #
108
+ # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
109
+ #
110
+ # @return [Deeprails::Models::MonitorEventDetailResponse]
111
+ #
112
+ # @see Deeprails::Models::MonitorRetrieveEventParams
113
+ def retrieve_event(event_id, params)
114
+ parsed, options = Deeprails::MonitorRetrieveEventParams.dump_request(params)
115
+ monitor_id =
116
+ parsed.delete(:monitor_id) do
117
+ raise ArgumentError.new("missing required path argument #{_1}")
118
+ end
119
+ @client.request(
120
+ method: :get,
121
+ path: ["monitor/%1$s/events/%2$s", monitor_id, event_id],
122
+ model: Deeprails::MonitorEventDetailResponse,
93
123
  options: options
94
124
  )
95
125
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Deeprails
4
- VERSION = "0.11.0"
4
+ VERSION = "0.13.0"
5
5
  end