deeprails 0.1.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 (131) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +18 -0
  4. data/README.md +273 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/deeprails/client.rb +82 -0
  7. data/lib/deeprails/errors.rb +228 -0
  8. data/lib/deeprails/file_part.rb +58 -0
  9. data/lib/deeprails/internal/transport/base_client.rb +567 -0
  10. data/lib/deeprails/internal/transport/pooled_net_requester.rb +198 -0
  11. data/lib/deeprails/internal/type/array_of.rb +168 -0
  12. data/lib/deeprails/internal/type/base_model.rb +531 -0
  13. data/lib/deeprails/internal/type/base_page.rb +55 -0
  14. data/lib/deeprails/internal/type/boolean.rb +77 -0
  15. data/lib/deeprails/internal/type/converter.rb +327 -0
  16. data/lib/deeprails/internal/type/enum.rb +131 -0
  17. data/lib/deeprails/internal/type/file_input.rb +111 -0
  18. data/lib/deeprails/internal/type/hash_of.rb +188 -0
  19. data/lib/deeprails/internal/type/request_parameters.rb +42 -0
  20. data/lib/deeprails/internal/type/union.rb +237 -0
  21. data/lib/deeprails/internal/type/unknown.rb +81 -0
  22. data/lib/deeprails/internal/util.rb +915 -0
  23. data/lib/deeprails/internal.rb +20 -0
  24. data/lib/deeprails/models/api_response.rb +119 -0
  25. data/lib/deeprails/models/defend_create_workflow_params.rb +132 -0
  26. data/lib/deeprails/models/defend_response.rb +123 -0
  27. data/lib/deeprails/models/defend_retrieve_event_params.rb +20 -0
  28. data/lib/deeprails/models/defend_retrieve_workflow_params.rb +14 -0
  29. data/lib/deeprails/models/defend_submit_event_params.rb +98 -0
  30. data/lib/deeprails/models/defend_update_workflow_params.rb +49 -0
  31. data/lib/deeprails/models/evaluate_create_params.rb +123 -0
  32. data/lib/deeprails/models/evaluate_retrieve_params.rb +14 -0
  33. data/lib/deeprails/models/evaluation.rb +225 -0
  34. data/lib/deeprails/models/monitor_create_params.rb +30 -0
  35. data/lib/deeprails/models/monitor_retrieve_params.rb +22 -0
  36. data/lib/deeprails/models/monitor_retrieve_response.rb +186 -0
  37. data/lib/deeprails/models/monitor_submit_event_params.rb +124 -0
  38. data/lib/deeprails/models/monitor_submit_event_response.rb +77 -0
  39. data/lib/deeprails/models/monitor_update_params.rb +54 -0
  40. data/lib/deeprails/models/workflow_event_response.rb +57 -0
  41. data/lib/deeprails/models.rb +71 -0
  42. data/lib/deeprails/request_options.rb +77 -0
  43. data/lib/deeprails/resources/defend.rb +162 -0
  44. data/lib/deeprails/resources/evaluate.rb +70 -0
  45. data/lib/deeprails/resources/monitor.rb +130 -0
  46. data/lib/deeprails/version.rb +5 -0
  47. data/lib/deeprails.rb +73 -0
  48. data/manifest.yaml +15 -0
  49. data/rbi/deeprails/client.rbi +55 -0
  50. data/rbi/deeprails/errors.rbi +205 -0
  51. data/rbi/deeprails/file_part.rbi +37 -0
  52. data/rbi/deeprails/internal/transport/base_client.rbi +293 -0
  53. data/rbi/deeprails/internal/transport/pooled_net_requester.rbi +79 -0
  54. data/rbi/deeprails/internal/type/array_of.rbi +104 -0
  55. data/rbi/deeprails/internal/type/base_model.rbi +304 -0
  56. data/rbi/deeprails/internal/type/base_page.rbi +42 -0
  57. data/rbi/deeprails/internal/type/boolean.rbi +58 -0
  58. data/rbi/deeprails/internal/type/converter.rbi +216 -0
  59. data/rbi/deeprails/internal/type/enum.rbi +82 -0
  60. data/rbi/deeprails/internal/type/file_input.rbi +59 -0
  61. data/rbi/deeprails/internal/type/hash_of.rbi +104 -0
  62. data/rbi/deeprails/internal/type/request_parameters.rbi +29 -0
  63. data/rbi/deeprails/internal/type/union.rbi +128 -0
  64. data/rbi/deeprails/internal/type/unknown.rbi +58 -0
  65. data/rbi/deeprails/internal/util.rbi +487 -0
  66. data/rbi/deeprails/internal.rbi +18 -0
  67. data/rbi/deeprails/models/api_response.rbi +204 -0
  68. data/rbi/deeprails/models/defend_create_workflow_params.rbi +270 -0
  69. data/rbi/deeprails/models/defend_response.rbi +198 -0
  70. data/rbi/deeprails/models/defend_retrieve_event_params.rbi +38 -0
  71. data/rbi/deeprails/models/defend_retrieve_workflow_params.rbi +30 -0
  72. data/rbi/deeprails/models/defend_submit_event_params.rbi +170 -0
  73. data/rbi/deeprails/models/defend_update_workflow_params.rbi +107 -0
  74. data/rbi/deeprails/models/evaluate_create_params.rbi +253 -0
  75. data/rbi/deeprails/models/evaluate_retrieve_params.rbi +27 -0
  76. data/rbi/deeprails/models/evaluation.rbi +382 -0
  77. data/rbi/deeprails/models/monitor_create_params.rbi +54 -0
  78. data/rbi/deeprails/models/monitor_retrieve_params.rbi +43 -0
  79. data/rbi/deeprails/models/monitor_retrieve_response.rbi +336 -0
  80. data/rbi/deeprails/models/monitor_submit_event_params.rbi +264 -0
  81. data/rbi/deeprails/models/monitor_submit_event_response.rbi +134 -0
  82. data/rbi/deeprails/models/monitor_update_params.rbi +114 -0
  83. data/rbi/deeprails/models/workflow_event_response.rbi +85 -0
  84. data/rbi/deeprails/models.rbi +33 -0
  85. data/rbi/deeprails/request_options.rbi +59 -0
  86. data/rbi/deeprails/resources/defend.rbi +151 -0
  87. data/rbi/deeprails/resources/evaluate.rbi +66 -0
  88. data/rbi/deeprails/resources/monitor.rbi +114 -0
  89. data/rbi/deeprails/version.rbi +5 -0
  90. data/sig/deeprails/client.rbs +30 -0
  91. data/sig/deeprails/errors.rbs +117 -0
  92. data/sig/deeprails/file_part.rbs +21 -0
  93. data/sig/deeprails/internal/transport/base_client.rbs +131 -0
  94. data/sig/deeprails/internal/transport/pooled_net_requester.rbs +45 -0
  95. data/sig/deeprails/internal/type/array_of.rbs +48 -0
  96. data/sig/deeprails/internal/type/base_model.rbs +102 -0
  97. data/sig/deeprails/internal/type/base_page.rbs +24 -0
  98. data/sig/deeprails/internal/type/boolean.rbs +26 -0
  99. data/sig/deeprails/internal/type/converter.rbs +79 -0
  100. data/sig/deeprails/internal/type/enum.rbs +32 -0
  101. data/sig/deeprails/internal/type/file_input.rbs +25 -0
  102. data/sig/deeprails/internal/type/hash_of.rbs +48 -0
  103. data/sig/deeprails/internal/type/request_parameters.rbs +19 -0
  104. data/sig/deeprails/internal/type/union.rbs +52 -0
  105. data/sig/deeprails/internal/type/unknown.rbs +26 -0
  106. data/sig/deeprails/internal/util.rbs +185 -0
  107. data/sig/deeprails/internal.rbs +9 -0
  108. data/sig/deeprails/models/api_response.rbs +100 -0
  109. data/sig/deeprails/models/defend_create_workflow_params.rbs +98 -0
  110. data/sig/deeprails/models/defend_response.rbs +96 -0
  111. data/sig/deeprails/models/defend_retrieve_event_params.rbs +23 -0
  112. data/sig/deeprails/models/defend_retrieve_workflow_params.rbs +15 -0
  113. data/sig/deeprails/models/defend_submit_event_params.rbs +73 -0
  114. data/sig/deeprails/models/defend_update_workflow_params.rbs +55 -0
  115. data/sig/deeprails/models/evaluate_create_params.rbs +107 -0
  116. data/sig/deeprails/models/evaluate_retrieve_params.rbs +15 -0
  117. data/sig/deeprails/models/evaluation.rbs +189 -0
  118. data/sig/deeprails/models/monitor_create_params.rbs +30 -0
  119. data/sig/deeprails/models/monitor_retrieve_params.rbs +25 -0
  120. data/sig/deeprails/models/monitor_retrieve_response.rbs +167 -0
  121. data/sig/deeprails/models/monitor_submit_event_params.rbs +107 -0
  122. data/sig/deeprails/models/monitor_submit_event_response.rbs +70 -0
  123. data/sig/deeprails/models/monitor_update_params.rbs +55 -0
  124. data/sig/deeprails/models/workflow_event_response.rbs +46 -0
  125. data/sig/deeprails/models.rbs +31 -0
  126. data/sig/deeprails/request_options.rbs +34 -0
  127. data/sig/deeprails/resources/defend.rbs +47 -0
  128. data/sig/deeprails/resources/evaluate.rbs +22 -0
  129. data/sig/deeprails/resources/monitor.rbs +38 -0
  130. data/sig/deeprails/version.rbs +3 -0
  131. metadata +188 -0
@@ -0,0 +1,382 @@
1
+ # typed: strong
2
+
3
+ module Deeprails
4
+ module Models
5
+ class Evaluation < Deeprails::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Deeprails::Evaluation, Deeprails::Internal::AnyHash)
9
+ end
10
+
11
+ # A unique evaluation ID.
12
+ sig { returns(String) }
13
+ attr_accessor :eval_id
14
+
15
+ # Status of the evaluation.
16
+ sig { returns(Deeprails::Evaluation::EvaluationStatus::TaggedSymbol) }
17
+ attr_accessor :evaluation_status
18
+
19
+ # A dictionary of inputs sent to the LLM to generate output. The dictionary must
20
+ # contain a `user_prompt` field and an optional `context` field. Additional
21
+ # properties are allowed.
22
+ sig { returns(Deeprails::Evaluation::ModelInput) }
23
+ attr_reader :model_input
24
+
25
+ sig do
26
+ params(model_input: Deeprails::Evaluation::ModelInput::OrHash).void
27
+ end
28
+ attr_writer :model_input
29
+
30
+ # Output generated by the LLM to be evaluated.
31
+ sig { returns(String) }
32
+ attr_accessor :model_output
33
+
34
+ # Run mode for the evaluation. The run mode allows the user to optimize for speed,
35
+ # accuracy, and cost by determining which models are used to evaluate the event.
36
+ sig { returns(Deeprails::Evaluation::RunMode::TaggedSymbol) }
37
+ attr_accessor :run_mode
38
+
39
+ # The time the evaluation was created in UTC.
40
+ sig { returns(T.nilable(Time)) }
41
+ attr_reader :created_at
42
+
43
+ sig { params(created_at: Time).void }
44
+ attr_writer :created_at
45
+
46
+ # The time the evaluation completed in UTC.
47
+ sig { returns(T.nilable(Time)) }
48
+ attr_reader :end_timestamp
49
+
50
+ sig { params(end_timestamp: Time).void }
51
+ attr_writer :end_timestamp
52
+
53
+ # Description of the error causing the evaluation to fail, if any.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :error_message
56
+
57
+ sig { params(error_message: String).void }
58
+ attr_writer :error_message
59
+
60
+ # The time the error causing the evaluation to fail was recorded.
61
+ sig { returns(T.nilable(Time)) }
62
+ attr_reader :error_timestamp
63
+
64
+ sig { params(error_timestamp: Time).void }
65
+ attr_writer :error_timestamp
66
+
67
+ # Evaluation result consisting of average scores and rationales for each of the
68
+ # evaluated guardrail metrics.
69
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
70
+ attr_reader :evaluation_result
71
+
72
+ sig { params(evaluation_result: T::Hash[Symbol, T.anything]).void }
73
+ attr_writer :evaluation_result
74
+
75
+ # Total cost of the evaluation.
76
+ sig { returns(T.nilable(Float)) }
77
+ attr_reader :evaluation_total_cost
78
+
79
+ sig { params(evaluation_total_cost: Float).void }
80
+ attr_writer :evaluation_total_cost
81
+
82
+ # An array of guardrail metrics that the model input and output pair will be
83
+ # evaluated on.
84
+ sig do
85
+ returns(
86
+ T.nilable(
87
+ T::Array[Deeprails::Evaluation::GuardrailMetric::TaggedSymbol]
88
+ )
89
+ )
90
+ end
91
+ attr_reader :guardrail_metrics
92
+
93
+ sig do
94
+ params(
95
+ guardrail_metrics:
96
+ T::Array[Deeprails::Evaluation::GuardrailMetric::OrSymbol]
97
+ ).void
98
+ end
99
+ attr_writer :guardrail_metrics
100
+
101
+ # Model ID used to generate the output, like `gpt-4o` or `o3`.
102
+ sig { returns(T.nilable(String)) }
103
+ attr_reader :model_used
104
+
105
+ sig { params(model_used: String).void }
106
+ attr_writer :model_used
107
+
108
+ # The most recent time the evaluation was modified in UTC.
109
+ sig { returns(T.nilable(Time)) }
110
+ attr_reader :modified_at
111
+
112
+ sig { params(modified_at: Time).void }
113
+ attr_writer :modified_at
114
+
115
+ # An optional, user-defined tag for the evaluation.
116
+ sig { returns(T.nilable(String)) }
117
+ attr_reader :nametag
118
+
119
+ sig { params(nametag: String).void }
120
+ attr_writer :nametag
121
+
122
+ # Evaluation progress. Values range between 0 and 100; 100 corresponds to a
123
+ # completed `evaluation_status`.
124
+ sig { returns(T.nilable(Integer)) }
125
+ attr_reader :progress
126
+
127
+ sig { params(progress: Integer).void }
128
+ attr_writer :progress
129
+
130
+ # The time the evaluation started in UTC.
131
+ sig { returns(T.nilable(Time)) }
132
+ attr_reader :start_timestamp
133
+
134
+ sig { params(start_timestamp: Time).void }
135
+ attr_writer :start_timestamp
136
+
137
+ sig do
138
+ params(
139
+ eval_id: String,
140
+ evaluation_status: Deeprails::Evaluation::EvaluationStatus::OrSymbol,
141
+ model_input: Deeprails::Evaluation::ModelInput::OrHash,
142
+ model_output: String,
143
+ run_mode: Deeprails::Evaluation::RunMode::OrSymbol,
144
+ created_at: Time,
145
+ end_timestamp: Time,
146
+ error_message: String,
147
+ error_timestamp: Time,
148
+ evaluation_result: T::Hash[Symbol, T.anything],
149
+ evaluation_total_cost: Float,
150
+ guardrail_metrics:
151
+ T::Array[Deeprails::Evaluation::GuardrailMetric::OrSymbol],
152
+ model_used: String,
153
+ modified_at: Time,
154
+ nametag: String,
155
+ progress: Integer,
156
+ start_timestamp: Time
157
+ ).returns(T.attached_class)
158
+ end
159
+ def self.new(
160
+ # A unique evaluation ID.
161
+ eval_id:,
162
+ # Status of the evaluation.
163
+ evaluation_status:,
164
+ # A dictionary of inputs sent to the LLM to generate output. The dictionary must
165
+ # contain a `user_prompt` field and an optional `context` field. Additional
166
+ # properties are allowed.
167
+ model_input:,
168
+ # Output generated by the LLM to be evaluated.
169
+ model_output:,
170
+ # Run mode for the evaluation. The run mode allows the user to optimize for speed,
171
+ # accuracy, and cost by determining which models are used to evaluate the event.
172
+ run_mode:,
173
+ # The time the evaluation was created in UTC.
174
+ created_at: nil,
175
+ # The time the evaluation completed in UTC.
176
+ end_timestamp: nil,
177
+ # Description of the error causing the evaluation to fail, if any.
178
+ error_message: nil,
179
+ # The time the error causing the evaluation to fail was recorded.
180
+ error_timestamp: nil,
181
+ # Evaluation result consisting of average scores and rationales for each of the
182
+ # evaluated guardrail metrics.
183
+ evaluation_result: nil,
184
+ # Total cost of the evaluation.
185
+ evaluation_total_cost: nil,
186
+ # An array of guardrail metrics that the model input and output pair will be
187
+ # evaluated on.
188
+ guardrail_metrics: nil,
189
+ # Model ID used to generate the output, like `gpt-4o` or `o3`.
190
+ model_used: nil,
191
+ # The most recent time the evaluation was modified in UTC.
192
+ modified_at: nil,
193
+ # An optional, user-defined tag for the evaluation.
194
+ nametag: nil,
195
+ # Evaluation progress. Values range between 0 and 100; 100 corresponds to a
196
+ # completed `evaluation_status`.
197
+ progress: nil,
198
+ # The time the evaluation started in UTC.
199
+ start_timestamp: nil
200
+ )
201
+ end
202
+
203
+ sig do
204
+ override.returns(
205
+ {
206
+ eval_id: String,
207
+ evaluation_status:
208
+ Deeprails::Evaluation::EvaluationStatus::TaggedSymbol,
209
+ model_input: Deeprails::Evaluation::ModelInput,
210
+ model_output: String,
211
+ run_mode: Deeprails::Evaluation::RunMode::TaggedSymbol,
212
+ created_at: Time,
213
+ end_timestamp: Time,
214
+ error_message: String,
215
+ error_timestamp: Time,
216
+ evaluation_result: T::Hash[Symbol, T.anything],
217
+ evaluation_total_cost: Float,
218
+ guardrail_metrics:
219
+ T::Array[Deeprails::Evaluation::GuardrailMetric::TaggedSymbol],
220
+ model_used: String,
221
+ modified_at: Time,
222
+ nametag: String,
223
+ progress: Integer,
224
+ start_timestamp: Time
225
+ }
226
+ )
227
+ end
228
+ def to_hash
229
+ end
230
+
231
+ # Status of the evaluation.
232
+ module EvaluationStatus
233
+ extend Deeprails::Internal::Type::Enum
234
+
235
+ TaggedSymbol =
236
+ T.type_alias do
237
+ T.all(Symbol, Deeprails::Evaluation::EvaluationStatus)
238
+ end
239
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
240
+
241
+ IN_PROGRESS =
242
+ T.let(
243
+ :in_progress,
244
+ Deeprails::Evaluation::EvaluationStatus::TaggedSymbol
245
+ )
246
+ COMPLETED =
247
+ T.let(
248
+ :completed,
249
+ Deeprails::Evaluation::EvaluationStatus::TaggedSymbol
250
+ )
251
+ CANCELED =
252
+ T.let(
253
+ :canceled,
254
+ Deeprails::Evaluation::EvaluationStatus::TaggedSymbol
255
+ )
256
+ QUEUED =
257
+ T.let(:queued, Deeprails::Evaluation::EvaluationStatus::TaggedSymbol)
258
+ FAILED =
259
+ T.let(:failed, Deeprails::Evaluation::EvaluationStatus::TaggedSymbol)
260
+
261
+ sig do
262
+ override.returns(
263
+ T::Array[Deeprails::Evaluation::EvaluationStatus::TaggedSymbol]
264
+ )
265
+ end
266
+ def self.values
267
+ end
268
+ end
269
+
270
+ class ModelInput < Deeprails::Internal::Type::BaseModel
271
+ OrHash =
272
+ T.type_alias do
273
+ T.any(
274
+ Deeprails::Evaluation::ModelInput,
275
+ Deeprails::Internal::AnyHash
276
+ )
277
+ end
278
+
279
+ # The user prompt used to generate the output.
280
+ sig { returns(String) }
281
+ attr_accessor :user_prompt
282
+
283
+ # Optional context supplied to the LLM when generating the output.
284
+ sig { returns(T.nilable(String)) }
285
+ attr_reader :context
286
+
287
+ sig { params(context: String).void }
288
+ attr_writer :context
289
+
290
+ # A dictionary of inputs sent to the LLM to generate output. The dictionary must
291
+ # contain a `user_prompt` field and an optional `context` field. Additional
292
+ # properties are allowed.
293
+ sig do
294
+ params(user_prompt: String, context: String).returns(T.attached_class)
295
+ end
296
+ def self.new(
297
+ # The user prompt used to generate the output.
298
+ user_prompt:,
299
+ # Optional context supplied to the LLM when generating the output.
300
+ context: nil
301
+ )
302
+ end
303
+
304
+ sig { override.returns({ user_prompt: String, context: String }) }
305
+ def to_hash
306
+ end
307
+ end
308
+
309
+ # Run mode for the evaluation. The run mode allows the user to optimize for speed,
310
+ # accuracy, and cost by determining which models are used to evaluate the event.
311
+ module RunMode
312
+ extend Deeprails::Internal::Type::Enum
313
+
314
+ TaggedSymbol =
315
+ T.type_alias { T.all(Symbol, Deeprails::Evaluation::RunMode) }
316
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
317
+
318
+ PRECISION_PLUS =
319
+ T.let(:precision_plus, Deeprails::Evaluation::RunMode::TaggedSymbol)
320
+ PRECISION =
321
+ T.let(:precision, Deeprails::Evaluation::RunMode::TaggedSymbol)
322
+ SMART = T.let(:smart, Deeprails::Evaluation::RunMode::TaggedSymbol)
323
+ ECONOMY = T.let(:economy, Deeprails::Evaluation::RunMode::TaggedSymbol)
324
+
325
+ sig do
326
+ override.returns(
327
+ T::Array[Deeprails::Evaluation::RunMode::TaggedSymbol]
328
+ )
329
+ end
330
+ def self.values
331
+ end
332
+ end
333
+
334
+ module GuardrailMetric
335
+ extend Deeprails::Internal::Type::Enum
336
+
337
+ TaggedSymbol =
338
+ T.type_alias { T.all(Symbol, Deeprails::Evaluation::GuardrailMetric) }
339
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
340
+
341
+ CORRECTNESS =
342
+ T.let(
343
+ :correctness,
344
+ Deeprails::Evaluation::GuardrailMetric::TaggedSymbol
345
+ )
346
+ COMPLETENESS =
347
+ T.let(
348
+ :completeness,
349
+ Deeprails::Evaluation::GuardrailMetric::TaggedSymbol
350
+ )
351
+ INSTRUCTION_ADHERENCE =
352
+ T.let(
353
+ :instruction_adherence,
354
+ Deeprails::Evaluation::GuardrailMetric::TaggedSymbol
355
+ )
356
+ CONTEXT_ADHERENCE =
357
+ T.let(
358
+ :context_adherence,
359
+ Deeprails::Evaluation::GuardrailMetric::TaggedSymbol
360
+ )
361
+ GROUND_TRUTH_ADHERENCE =
362
+ T.let(
363
+ :ground_truth_adherence,
364
+ Deeprails::Evaluation::GuardrailMetric::TaggedSymbol
365
+ )
366
+ COMPREHENSIVE_SAFETY =
367
+ T.let(
368
+ :comprehensive_safety,
369
+ Deeprails::Evaluation::GuardrailMetric::TaggedSymbol
370
+ )
371
+
372
+ sig do
373
+ override.returns(
374
+ T::Array[Deeprails::Evaluation::GuardrailMetric::TaggedSymbol]
375
+ )
376
+ end
377
+ def self.values
378
+ end
379
+ end
380
+ end
381
+ end
382
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module Deeprails
4
+ module Models
5
+ class MonitorCreateParams < Deeprails::Internal::Type::BaseModel
6
+ extend Deeprails::Internal::Type::RequestParameters::Converter
7
+ include Deeprails::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Deeprails::MonitorCreateParams, Deeprails::Internal::AnyHash)
12
+ end
13
+
14
+ # Name of the new monitor.
15
+ sig { returns(String) }
16
+ attr_accessor :name
17
+
18
+ # Description of the new monitor.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :description
21
+
22
+ sig { params(description: String).void }
23
+ attr_writer :description
24
+
25
+ sig do
26
+ params(
27
+ name: String,
28
+ description: String,
29
+ request_options: Deeprails::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ # Name of the new monitor.
34
+ name:,
35
+ # Description of the new monitor.
36
+ description: nil,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ name: String,
45
+ description: String,
46
+ request_options: Deeprails::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module Deeprails
4
+ module Models
5
+ class MonitorRetrieveParams < Deeprails::Internal::Type::BaseModel
6
+ extend Deeprails::Internal::Type::RequestParameters::Converter
7
+ include Deeprails::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Deeprails::MonitorRetrieveParams, Deeprails::Internal::AnyHash)
12
+ end
13
+
14
+ # Limit the returned events associated with this monitor. Defaults to 10.
15
+ sig { returns(T.nilable(Integer)) }
16
+ attr_reader :limit
17
+
18
+ sig { params(limit: Integer).void }
19
+ attr_writer :limit
20
+
21
+ sig do
22
+ params(
23
+ limit: Integer,
24
+ request_options: Deeprails::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # Limit the returned events associated with this monitor. Defaults to 10.
29
+ limit: nil,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ { limit: Integer, request_options: Deeprails::RequestOptions }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+ end
42
+ end
43
+ end