deeprails 0.18.0 → 0.24.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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +92 -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 +13 -11
  7. data/lib/deeprails/internal/type/base_stream.rb +83 -0
  8. data/lib/deeprails/internal/util.rb +39 -3
  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_retrieve_event_params.rb +7 -1
  12. data/lib/deeprails/models/defend_retrieve_workflow_params.rb +8 -1
  13. data/lib/deeprails/models/defend_submit_and_stream_event_params.rb +92 -0
  14. data/lib/deeprails/models/defend_submit_and_stream_event_response.rb +7 -0
  15. data/lib/deeprails/models/defend_submit_event_params.rb +70 -20
  16. data/lib/deeprails/models/defend_update_response.rb +9 -1
  17. data/lib/deeprails/models/defend_update_workflow_params.rb +138 -5
  18. data/lib/deeprails/models/monitor_create_params.rb +14 -1
  19. data/lib/deeprails/models/monitor_detail_response.rb +60 -17
  20. data/lib/deeprails/models/monitor_event_detail_response.rb +11 -5
  21. data/lib/deeprails/models/monitor_retrieve_event_params.rb +7 -1
  22. data/lib/deeprails/models/monitor_retrieve_params.rb +8 -1
  23. data/lib/deeprails/models/monitor_submit_event_params.rb +70 -20
  24. data/lib/deeprails/models/monitor_update_params.rb +53 -5
  25. data/lib/deeprails/models/workflow_event_detail_response.rb +99 -16
  26. data/lib/deeprails/models/workflow_event_response.rb +9 -1
  27. data/lib/deeprails/models.rb +2 -0
  28. data/lib/deeprails/resources/defend.rb +70 -5
  29. data/lib/deeprails/resources/monitor.rb +16 -7
  30. data/lib/deeprails/version.rb +1 -1
  31. data/lib/deeprails.rb +5 -0
  32. data/manifest.yaml +1 -0
  33. data/rbi/deeprails/internal/stream.rbi +20 -0
  34. data/rbi/deeprails/internal/transport/base_client.rbi +18 -2
  35. data/rbi/deeprails/internal/type/base_stream.rbi +75 -0
  36. data/rbi/deeprails/internal/util.rbi +21 -1
  37. data/rbi/deeprails/models/defend_create_workflow_params.rbi +21 -0
  38. data/rbi/deeprails/models/defend_response.rbi +286 -14
  39. data/rbi/deeprails/models/defend_retrieve_event_params.rbi +10 -2
  40. data/rbi/deeprails/models/defend_retrieve_workflow_params.rbi +10 -1
  41. data/rbi/deeprails/models/defend_submit_and_stream_event_params.rbi +155 -0
  42. data/rbi/deeprails/models/defend_submit_and_stream_event_response.rbi +7 -0
  43. data/rbi/deeprails/models/defend_submit_event_params.rbi +134 -31
  44. data/rbi/deeprails/models/defend_update_response.rbi +14 -3
  45. data/rbi/deeprails/models/defend_update_workflow_params.rbi +304 -4
  46. data/rbi/deeprails/models/monitor_create_params.rbi +21 -0
  47. data/rbi/deeprails/models/monitor_detail_response.rbi +122 -28
  48. data/rbi/deeprails/models/monitor_event_detail_response.rbi +20 -8
  49. data/rbi/deeprails/models/monitor_retrieve_event_params.rbi +10 -2
  50. data/rbi/deeprails/models/monitor_retrieve_params.rbi +10 -1
  51. data/rbi/deeprails/models/monitor_submit_event_params.rbi +134 -31
  52. data/rbi/deeprails/models/monitor_update_params.rbi +113 -4
  53. data/rbi/deeprails/models/workflow_event_detail_response.rbi +204 -24
  54. data/rbi/deeprails/models/workflow_event_response.rbi +8 -0
  55. data/rbi/deeprails/models.rbi +3 -0
  56. data/rbi/deeprails/resources/defend.rbi +101 -6
  57. data/rbi/deeprails/resources/monitor.rbi +31 -8
  58. data/sig/deeprails/internal/stream.rbs +9 -0
  59. data/sig/deeprails/internal/type/base_stream.rbs +38 -0
  60. data/sig/deeprails/internal/util.rbs +10 -0
  61. data/sig/deeprails/models/defend_create_workflow_params.rbs +7 -0
  62. data/sig/deeprails/models/defend_response.rbs +114 -8
  63. data/sig/deeprails/models/defend_retrieve_event_params.rbs +6 -1
  64. data/sig/deeprails/models/defend_retrieve_workflow_params.rbs +6 -1
  65. data/sig/deeprails/models/defend_submit_and_stream_event_params.rbs +73 -0
  66. data/sig/deeprails/models/defend_submit_and_stream_event_response.rbs +5 -0
  67. data/sig/deeprails/models/defend_submit_event_params.rbs +53 -13
  68. data/sig/deeprails/models/defend_update_response.rbs +10 -3
  69. data/sig/deeprails/models/defend_update_workflow_params.rbs +108 -1
  70. data/sig/deeprails/models/monitor_create_params.rbs +7 -0
  71. data/sig/deeprails/models/monitor_detail_response.rbs +48 -13
  72. data/sig/deeprails/models/monitor_event_detail_response.rbs +12 -4
  73. data/sig/deeprails/models/monitor_retrieve_event_params.rbs +6 -1
  74. data/sig/deeprails/models/monitor_retrieve_params.rbs +6 -1
  75. data/sig/deeprails/models/monitor_submit_event_params.rbs +53 -13
  76. data/sig/deeprails/models/monitor_update_params.rbs +50 -1
  77. data/sig/deeprails/models/workflow_event_detail_response.rbs +100 -15
  78. data/sig/deeprails/models/workflow_event_response.rbs +5 -0
  79. data/sig/deeprails/models.rbs +2 -0
  80. data/sig/deeprails/resources/defend.rbs +20 -0
  81. data/sig/deeprails/resources/monitor.rbs +4 -0
  82. metadata +28 -2
@@ -2,6 +2,7 @@ module Deeprails
2
2
  module Models
3
3
  type monitor_submit_event_params =
4
4
  {
5
+ monitor_id: String,
5
6
  model_input: Deeprails::MonitorSubmitEventParams::ModelInput,
6
7
  model_output: String,
7
8
  nametag: String,
@@ -13,6 +14,8 @@ module Deeprails
13
14
  extend Deeprails::Internal::Type::RequestParameters::Converter
14
15
  include Deeprails::Internal::Type::RequestParameters
15
16
 
17
+ attr_accessor monitor_id: String
18
+
16
19
  attr_accessor model_input: Deeprails::MonitorSubmitEventParams::ModelInput
17
20
 
18
21
  attr_accessor model_output: String
@@ -28,6 +31,7 @@ module Deeprails
28
31
  ) -> Deeprails::Models::MonitorSubmitEventParams::run_mode
29
32
 
30
33
  def initialize: (
34
+ monitor_id: String,
31
35
  model_input: Deeprails::MonitorSubmitEventParams::ModelInput,
32
36
  model_output: String,
33
37
  ?nametag: String,
@@ -36,6 +40,7 @@ module Deeprails
36
40
  ) -> void
37
41
 
38
42
  def to_hash: -> {
43
+ monitor_id: String,
39
44
  model_input: Deeprails::MonitorSubmitEventParams::ModelInput,
40
45
  model_output: String,
41
46
  nametag: String,
@@ -44,9 +49,22 @@ module Deeprails
44
49
  }
45
50
 
46
51
  type model_input =
47
- { ground_truth: String, system_prompt: String, user_prompt: String }
52
+ {
53
+ user_prompt: String,
54
+ context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context],
55
+ ground_truth: String,
56
+ system_prompt: String
57
+ }
48
58
 
49
59
  class ModelInput < Deeprails::Internal::Type::BaseModel
60
+ attr_accessor user_prompt: String
61
+
62
+ attr_reader context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context]?
63
+
64
+ def context=: (
65
+ ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context]
66
+ ) -> ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context]
67
+
50
68
  attr_reader ground_truth: String?
51
69
 
52
70
  def ground_truth=: (String) -> String
@@ -55,32 +73,54 @@ module Deeprails
55
73
 
56
74
  def system_prompt=: (String) -> String
57
75
 
58
- attr_reader user_prompt: String?
59
-
60
- def user_prompt=: (String) -> String
61
-
62
76
  def initialize: (
77
+ user_prompt: String,
78
+ ?context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context],
63
79
  ?ground_truth: String,
64
- ?system_prompt: String,
65
- ?user_prompt: String
80
+ ?system_prompt: String
66
81
  ) -> void
67
82
 
68
83
  def to_hash: -> {
84
+ user_prompt: String,
85
+ context: ::Array[Deeprails::MonitorSubmitEventParams::ModelInput::Context],
69
86
  ground_truth: String,
70
- system_prompt: String,
71
- user_prompt: String
87
+ system_prompt: String
72
88
  }
89
+
90
+ type context = { content: String, role: String }
91
+
92
+ class Context < Deeprails::Internal::Type::BaseModel
93
+ attr_reader content: String?
94
+
95
+ def content=: (String) -> String
96
+
97
+ attr_reader role: String?
98
+
99
+ def role=: (String) -> String
100
+
101
+ def initialize: (?content: String, ?role: String) -> void
102
+
103
+ def to_hash: -> { content: String, role: String }
104
+ end
73
105
  end
74
106
 
75
- type run_mode = :precision_plus | :precision | :smart | :economy
107
+ type run_mode =
108
+ :super_fast
109
+ | :fast
110
+ | :precision
111
+ | :precision_codex
112
+ | :precision_max
113
+ | :precision_max_codex
76
114
 
77
115
  module RunMode
78
116
  extend Deeprails::Internal::Type::Enum
79
117
 
80
- PRECISION_PLUS: :precision_plus
118
+ SUPER_FAST: :super_fast
119
+ FAST: :fast
81
120
  PRECISION: :precision
82
- SMART: :smart
83
- ECONOMY: :economy
121
+ PRECISION_CODEX: :precision_codex
122
+ PRECISION_MAX: :precision_max
123
+ PRECISION_MAX_CODEX: :precision_max_codex
84
124
 
85
125
  def self?.values: -> ::Array[Deeprails::Models::MonitorSubmitEventParams::run_mode]
86
126
  end
@@ -2,9 +2,13 @@ module Deeprails
2
2
  module Models
3
3
  type monitor_update_params =
4
4
  {
5
+ monitor_id: String,
5
6
  description: String,
7
+ file_search: ::Array[String],
8
+ guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
6
9
  name: String,
7
- status: Deeprails::Models::MonitorUpdateParams::status
10
+ status: Deeprails::Models::MonitorUpdateParams::status,
11
+ web_search: bool
8
12
  }
9
13
  & Deeprails::Internal::Type::request_parameters
10
14
 
@@ -12,10 +16,22 @@ module Deeprails
12
16
  extend Deeprails::Internal::Type::RequestParameters::Converter
13
17
  include Deeprails::Internal::Type::RequestParameters
14
18
 
19
+ attr_accessor monitor_id: String
20
+
15
21
  attr_reader description: String?
16
22
 
17
23
  def description=: (String) -> String
18
24
 
25
+ attr_reader file_search: ::Array[String]?
26
+
27
+ def file_search=: (::Array[String]) -> ::Array[String]
28
+
29
+ attr_reader guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]?
30
+
31
+ def guardrail_metrics=: (
32
+ ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]
33
+ ) -> ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]
34
+
19
35
  attr_reader name: String?
20
36
 
21
37
  def name=: (String) -> String
@@ -26,20 +42,53 @@ module Deeprails
26
42
  Deeprails::Models::MonitorUpdateParams::status
27
43
  ) -> Deeprails::Models::MonitorUpdateParams::status
28
44
 
45
+ attr_reader web_search: bool?
46
+
47
+ def web_search=: (bool) -> bool
48
+
29
49
  def initialize: (
50
+ monitor_id: String,
30
51
  ?description: String,
52
+ ?file_search: ::Array[String],
53
+ ?guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
31
54
  ?name: String,
32
55
  ?status: Deeprails::Models::MonitorUpdateParams::status,
56
+ ?web_search: bool,
33
57
  ?request_options: Deeprails::request_opts
34
58
  ) -> void
35
59
 
36
60
  def to_hash: -> {
61
+ monitor_id: String,
37
62
  description: String,
63
+ file_search: ::Array[String],
64
+ guardrail_metrics: ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric],
38
65
  name: String,
39
66
  status: Deeprails::Models::MonitorUpdateParams::status,
67
+ web_search: bool,
40
68
  request_options: Deeprails::RequestOptions
41
69
  }
42
70
 
71
+ type guardrail_metric =
72
+ :correctness
73
+ | :completeness
74
+ | :instruction_adherence
75
+ | :context_adherence
76
+ | :ground_truth_adherence
77
+ | :comprehensive_safety
78
+
79
+ module GuardrailMetric
80
+ extend Deeprails::Internal::Type::Enum
81
+
82
+ CORRECTNESS: :correctness
83
+ COMPLETENESS: :completeness
84
+ INSTRUCTION_ADHERENCE: :instruction_adherence
85
+ CONTEXT_ADHERENCE: :context_adherence
86
+ GROUND_TRUTH_ADHERENCE: :ground_truth_adherence
87
+ COMPREHENSIVE_SAFETY: :comprehensive_safety
88
+
89
+ def self?.values: -> ::Array[Deeprails::Models::MonitorUpdateParams::guardrail_metric]
90
+ end
91
+
43
92
  type status = :active | :inactive
44
93
 
45
94
  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[Deeprails::WorkflowEventDetailResponse::KeyImprovement],
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[Deeprails::WorkflowEventDetailResponse::KeyImprovement]
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[Deeprails::WorkflowEventDetailResponse::KeyImprovement],
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[Deeprails::WorkflowEventDetailResponse::KeyImprovement],
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,18 +263,34 @@ 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]
226
280
  end
227
281
 
282
+ type key_improvement = { key_improvement: ::Array[String] }
283
+
284
+ class KeyImprovement < Deeprails::Internal::Type::BaseModel
285
+ attr_reader key_improvement: ::Array[String]?
286
+
287
+ def key_improvement=: (::Array[String]) -> ::Array[String]
288
+
289
+ def initialize: (?key_improvement: ::Array[String]) -> void
290
+
291
+ def to_hash: -> { key_improvement: ::Array[String] }
292
+ end
293
+
228
294
  type status = :"In Progress" | :Completed
229
295
 
230
296
  module Status
@@ -271,7 +337,14 @@ module Deeprails
271
337
  def to_hash: -> { capability: String }
272
338
  end
273
339
 
274
- type file = { file_id: String, file_name: String, file_size: Integer }
340
+ type file =
341
+ {
342
+ file_id: String,
343
+ file_name: String,
344
+ file_size: Integer,
345
+ presigned_url: String,
346
+ presigned_url_expires_at: Time
347
+ }
275
348
 
276
349
  class File < Deeprails::Internal::Type::BaseModel
277
350
  attr_reader file_id: String?
@@ -286,16 +359,28 @@ module Deeprails
286
359
 
287
360
  def file_size=: (Integer) -> Integer
288
361
 
362
+ attr_reader presigned_url: String?
363
+
364
+ def presigned_url=: (String) -> String
365
+
366
+ attr_reader presigned_url_expires_at: Time?
367
+
368
+ def presigned_url_expires_at=: (Time) -> Time
369
+
289
370
  def initialize: (
290
371
  ?file_id: String,
291
372
  ?file_name: String,
292
- ?file_size: Integer
373
+ ?file_size: Integer,
374
+ ?presigned_url: String,
375
+ ?presigned_url_expires_at: Time
293
376
  ) -> void
294
377
 
295
378
  def to_hash: -> {
296
379
  file_id: String,
297
380
  file_name: String,
298
- file_size: Integer
381
+ file_size: Integer,
382
+ presigned_url: String,
383
+ presigned_url_expires_at: Time
299
384
  }
300
385
  end
301
386
  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