deeprails 0.6.0 → 0.8.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +30 -6
  4. data/lib/deeprails/internal/transport/pooled_net_requester.rb +30 -24
  5. data/lib/deeprails/models/defend_create_workflow_params.rb +4 -4
  6. data/lib/deeprails/models/defend_response.rb +4 -4
  7. data/lib/deeprails/models/defend_submit_event_params.rb +6 -6
  8. data/lib/deeprails/models/evaluate_create_params.rb +4 -4
  9. data/lib/deeprails/models/evaluation.rb +4 -4
  10. data/lib/deeprails/models/monitor_detail_response.rb +150 -0
  11. data/lib/deeprails/models/monitor_event_response.rb +41 -0
  12. data/lib/deeprails/models/monitor_response.rb +83 -0
  13. data/lib/deeprails/models/monitor_submit_event_params.rb +4 -4
  14. data/lib/deeprails/models.rb +6 -2
  15. data/lib/deeprails/resources/defend.rb +2 -2
  16. data/lib/deeprails/resources/monitor.rb +8 -8
  17. data/lib/deeprails/version.rb +1 -1
  18. data/lib/deeprails.rb +3 -3
  19. data/rbi/deeprails/models/defend_create_workflow_params.rbi +6 -6
  20. data/rbi/deeprails/models/defend_response.rbi +6 -6
  21. data/rbi/deeprails/models/defend_submit_event_params.rbi +8 -8
  22. data/rbi/deeprails/models/evaluate_create_params.rbi +6 -6
  23. data/rbi/deeprails/models/evaluation.rbi +6 -6
  24. data/rbi/deeprails/models/monitor_detail_response.rbi +251 -0
  25. data/rbi/deeprails/models/monitor_event_response.rbi +64 -0
  26. data/rbi/deeprails/models/monitor_response.rbi +142 -0
  27. data/rbi/deeprails/models/monitor_submit_event_params.rbi +6 -6
  28. data/rbi/deeprails/models.rbi +6 -2
  29. data/rbi/deeprails/resources/defend.rbi +4 -4
  30. data/rbi/deeprails/resources/evaluate.rbi +2 -2
  31. data/rbi/deeprails/resources/monitor.rbi +6 -6
  32. data/sig/deeprails/models/defend_create_workflow_params.rbs +5 -5
  33. data/sig/deeprails/models/defend_response.rbs +5 -5
  34. data/sig/deeprails/models/monitor_detail_response.rbs +134 -0
  35. data/sig/deeprails/models/monitor_event_response.rbs +37 -0
  36. data/sig/deeprails/models/monitor_response.rbs +73 -0
  37. data/sig/deeprails/models.rbs +6 -2
  38. data/sig/deeprails/resources/defend.rbs +1 -1
  39. data/sig/deeprails/resources/monitor.rbs +4 -4
  40. metadata +11 -11
  41. data/lib/deeprails/models/api_response.rb +0 -116
  42. data/lib/deeprails/models/monitor_retrieve_response.rb +0 -183
  43. data/lib/deeprails/models/monitor_submit_event_response.rb +0 -74
  44. data/rbi/deeprails/models/api_response.rbi +0 -201
  45. data/rbi/deeprails/models/monitor_retrieve_response.rbi +0 -333
  46. data/rbi/deeprails/models/monitor_submit_event_response.rbi +0 -131
  47. data/sig/deeprails/models/api_response.rbs +0 -100
  48. data/sig/deeprails/models/monitor_retrieve_response.rbs +0 -167
  49. data/sig/deeprails/models/monitor_submit_event_response.rbs +0 -70
@@ -0,0 +1,142 @@
1
+ # typed: strong
2
+
3
+ module Deeprails
4
+ module Models
5
+ class MonitorResponse < Deeprails::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Deeprails::MonitorResponse, Deeprails::Internal::AnyHash)
9
+ end
10
+
11
+ # A unique monitor ID.
12
+ sig { returns(String) }
13
+ attr_accessor :monitor_id
14
+
15
+ # Name of the monitor.
16
+ sig { returns(String) }
17
+ attr_accessor :name
18
+
19
+ # The time the monitor was created in UTC.
20
+ sig { returns(T.nilable(Time)) }
21
+ attr_reader :created_at
22
+
23
+ sig { params(created_at: Time).void }
24
+ attr_writer :created_at
25
+
26
+ # Description of the monitor.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :description
29
+
30
+ sig { params(description: String).void }
31
+ attr_writer :description
32
+
33
+ # Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
34
+ # longer record and evaluate events.
35
+ sig do
36
+ returns(
37
+ T.nilable(Deeprails::MonitorResponse::MonitorStatus::TaggedSymbol)
38
+ )
39
+ end
40
+ attr_reader :monitor_status
41
+
42
+ sig do
43
+ params(
44
+ monitor_status: Deeprails::MonitorResponse::MonitorStatus::OrSymbol
45
+ ).void
46
+ end
47
+ attr_writer :monitor_status
48
+
49
+ # The most recent time the monitor was modified in UTC.
50
+ sig { returns(T.nilable(Time)) }
51
+ attr_reader :updated_at
52
+
53
+ sig { params(updated_at: Time).void }
54
+ attr_writer :updated_at
55
+
56
+ # User ID of the user who created the monitor.
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :user_id
59
+
60
+ sig { params(user_id: String).void }
61
+ attr_writer :user_id
62
+
63
+ sig do
64
+ params(
65
+ monitor_id: String,
66
+ name: String,
67
+ created_at: Time,
68
+ description: String,
69
+ monitor_status: Deeprails::MonitorResponse::MonitorStatus::OrSymbol,
70
+ updated_at: Time,
71
+ user_id: String
72
+ ).returns(T.attached_class)
73
+ end
74
+ def self.new(
75
+ # A unique monitor ID.
76
+ monitor_id:,
77
+ # Name of the monitor.
78
+ name:,
79
+ # The time the monitor was created in UTC.
80
+ created_at: nil,
81
+ # Description of the monitor.
82
+ description: nil,
83
+ # Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
84
+ # longer record and evaluate events.
85
+ monitor_status: nil,
86
+ # The most recent time the monitor was modified in UTC.
87
+ updated_at: nil,
88
+ # User ID of the user who created the monitor.
89
+ user_id: nil
90
+ )
91
+ end
92
+
93
+ sig do
94
+ override.returns(
95
+ {
96
+ monitor_id: String,
97
+ name: String,
98
+ created_at: Time,
99
+ description: String,
100
+ monitor_status:
101
+ Deeprails::MonitorResponse::MonitorStatus::TaggedSymbol,
102
+ updated_at: Time,
103
+ user_id: String
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ # Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
111
+ # longer record and evaluate events.
112
+ module MonitorStatus
113
+ extend Deeprails::Internal::Type::Enum
114
+
115
+ TaggedSymbol =
116
+ T.type_alias do
117
+ T.all(Symbol, Deeprails::MonitorResponse::MonitorStatus)
118
+ end
119
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
120
+
121
+ ACTIVE =
122
+ T.let(
123
+ :active,
124
+ Deeprails::MonitorResponse::MonitorStatus::TaggedSymbol
125
+ )
126
+ INACTIVE =
127
+ T.let(
128
+ :inactive,
129
+ Deeprails::MonitorResponse::MonitorStatus::TaggedSymbol
130
+ )
131
+
132
+ sig do
133
+ override.returns(
134
+ T::Array[Deeprails::MonitorResponse::MonitorStatus::TaggedSymbol]
135
+ )
136
+ end
137
+ def self.values
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
@@ -28,8 +28,8 @@ module Deeprails
28
28
  attr_accessor :guardrail_metrics
29
29
 
30
30
  # A dictionary of inputs sent to the LLM to generate output. The dictionary must
31
- # contain at least a `user_prompt` or `system_prompt` field. For
32
- # ground_truth_aherence guadrail metric, `ground_truth` should be provided.
31
+ # contain at least a `user_prompt` field or a `system_prompt` field. For
32
+ # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
33
33
  sig { returns(Deeprails::MonitorSubmitEventParams::ModelInput) }
34
34
  attr_reader :model_input
35
35
 
@@ -97,8 +97,8 @@ module Deeprails
97
97
  # `ground_truth_adherence`, and/or `comprehensive_safety`.
98
98
  guardrail_metrics:,
99
99
  # A dictionary of inputs sent to the LLM to generate output. The dictionary must
100
- # contain at least a `user_prompt` or `system_prompt` field. For
101
- # ground_truth_aherence guadrail metric, `ground_truth` should be provided.
100
+ # contain at least a `user_prompt` field or a `system_prompt` field. For
101
+ # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
102
102
  model_input:,
103
103
  # Output generated by the LLM to be evaluated.
104
104
  model_output:,
@@ -216,8 +216,8 @@ module Deeprails
216
216
  attr_writer :user_prompt
217
217
 
218
218
  # A dictionary of inputs sent to the LLM to generate output. The dictionary must
219
- # contain at least a `user_prompt` or `system_prompt` field. For
220
- # ground_truth_aherence guadrail metric, `ground_truth` should be provided.
219
+ # contain at least a `user_prompt` field or a `system_prompt` field. For
220
+ # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
221
221
  sig do
222
222
  params(
223
223
  ground_truth: String,
@@ -1,8 +1,6 @@
1
1
  # typed: strong
2
2
 
3
3
  module Deeprails
4
- APIResponse = Deeprails::Models::APIResponse
5
-
6
4
  DefendCreateWorkflowParams = Deeprails::Models::DefendCreateWorkflowParams
7
5
 
8
6
  DefendResponse = Deeprails::Models::DefendResponse
@@ -23,6 +21,12 @@ module Deeprails
23
21
 
24
22
  MonitorCreateParams = Deeprails::Models::MonitorCreateParams
25
23
 
24
+ MonitorDetailResponse = Deeprails::Models::MonitorDetailResponse
25
+
26
+ MonitorEventResponse = Deeprails::Models::MonitorEventResponse
27
+
28
+ MonitorResponse = Deeprails::Models::MonitorResponse
29
+
26
30
  MonitorRetrieveParams = Deeprails::Models::MonitorRetrieveParams
27
31
 
28
32
  MonitorSubmitEventParams = Deeprails::Models::MonitorSubmitEventParams
@@ -18,7 +18,7 @@ module Deeprails
18
18
  ],
19
19
  custom_hallucination_threshold_values: T::Hash[Symbol, Float],
20
20
  description: String,
21
- max_improvement_attempt: Integer,
21
+ max_improvement_attempts: Integer,
22
22
  request_options: Deeprails::RequestOptions::OrHash
23
23
  ).returns(Deeprails::DefendResponse)
24
24
  end
@@ -50,7 +50,7 @@ module Deeprails
50
50
  description: nil,
51
51
  # Max. number of improvement action retries until a given event passes the
52
52
  # guardrails. Defaults to 10.
53
- max_improvement_attempt: nil,
53
+ max_improvement_attempts: nil,
54
54
  request_options: {}
55
55
  )
56
56
  end
@@ -103,8 +103,8 @@ module Deeprails
103
103
  # Workflow ID associated with this event.
104
104
  workflow_id,
105
105
  # A dictionary of inputs sent to the LLM to generate output. The dictionary must
106
- # contain at least `user_prompt` or `system_prompt` field. For
107
- # ground_truth_aherence guadrail metric, `ground_truth` should be provided.
106
+ # contain at least a `user_prompt` field or a `system_prompt` field. For the
107
+ # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
108
108
  model_input:,
109
109
  # Output generated by the LLM to be evaluated.
110
110
  model_output:,
@@ -21,8 +21,8 @@ module Deeprails
21
21
  end
22
22
  def create(
23
23
  # A dictionary of inputs sent to the LLM to generate output. The dictionary must
24
- # contain at least `user_prompt` or `system_prompt` field. For
25
- # ground_truth_aherence guadrail metric, `ground_truth` should be provided.
24
+ # contain at least a `user_prompt` field or a `system_prompt` field. For
25
+ # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
26
26
  model_input:,
27
27
  # Output generated by the LLM to be evaluated.
28
28
  model_output:,
@@ -10,7 +10,7 @@ module Deeprails
10
10
  name: String,
11
11
  description: String,
12
12
  request_options: Deeprails::RequestOptions::OrHash
13
- ).returns(Deeprails::APIResponse)
13
+ ).returns(Deeprails::MonitorResponse)
14
14
  end
15
15
  def create(
16
16
  # Name of the new monitor.
@@ -28,7 +28,7 @@ module Deeprails
28
28
  monitor_id: String,
29
29
  limit: Integer,
30
30
  request_options: Deeprails::RequestOptions::OrHash
31
- ).returns(Deeprails::Models::MonitorRetrieveResponse)
31
+ ).returns(Deeprails::MonitorDetailResponse)
32
32
  end
33
33
  def retrieve(
34
34
  # The ID of the monitor to retrieve.
@@ -49,7 +49,7 @@ module Deeprails
49
49
  Deeprails::MonitorUpdateParams::MonitorStatus::OrSymbol,
50
50
  name: String,
51
51
  request_options: Deeprails::RequestOptions::OrHash
52
- ).returns(Deeprails::APIResponse)
52
+ ).returns(Deeprails::MonitorResponse)
53
53
  end
54
54
  def update(
55
55
  # The ID of the monitor to edit.
@@ -80,7 +80,7 @@ module Deeprails
80
80
  nametag: String,
81
81
  run_mode: Deeprails::MonitorSubmitEventParams::RunMode::OrSymbol,
82
82
  request_options: Deeprails::RequestOptions::OrHash
83
- ).returns(Deeprails::Models::MonitorSubmitEventResponse)
83
+ ).returns(Deeprails::MonitorEventResponse)
84
84
  end
85
85
  def submit_event(
86
86
  # The ID of the monitor associated with this event.
@@ -91,8 +91,8 @@ module Deeprails
91
91
  # `ground_truth_adherence`, and/or `comprehensive_safety`.
92
92
  guardrail_metrics:,
93
93
  # A dictionary of inputs sent to the LLM to generate output. The dictionary must
94
- # contain at least a `user_prompt` or `system_prompt` field. For
95
- # ground_truth_aherence guadrail metric, `ground_truth` should be provided.
94
+ # contain at least a `user_prompt` field or a `system_prompt` field. For
95
+ # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
96
96
  model_input:,
97
97
  # Output generated by the LLM to be evaluated.
98
98
  model_output:,
@@ -8,7 +8,7 @@ module Deeprails
8
8
  automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
9
9
  custom_hallucination_threshold_values: ::Hash[Symbol, Float],
10
10
  description: String,
11
- max_improvement_attempt: Integer
11
+ max_improvement_attempts: Integer
12
12
  }
13
13
  & Deeprails::Internal::Type::request_parameters
14
14
 
@@ -38,9 +38,9 @@ module Deeprails
38
38
 
39
39
  def description=: (String) -> String
40
40
 
41
- attr_reader max_improvement_attempt: Integer?
41
+ attr_reader max_improvement_attempts: Integer?
42
42
 
43
- def max_improvement_attempt=: (Integer) -> Integer
43
+ def max_improvement_attempts=: (Integer) -> Integer
44
44
 
45
45
  def initialize: (
46
46
  improvement_action: Deeprails::Models::DefendCreateWorkflowParams::improvement_action,
@@ -49,7 +49,7 @@ module Deeprails
49
49
  ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
50
50
  ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
51
51
  ?description: String,
52
- ?max_improvement_attempt: Integer,
52
+ ?max_improvement_attempts: Integer,
53
53
  ?request_options: Deeprails::request_opts
54
54
  ) -> void
55
55
 
@@ -60,7 +60,7 @@ module Deeprails
60
60
  automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
61
61
  custom_hallucination_threshold_values: ::Hash[Symbol, Float],
62
62
  description: String,
63
- max_improvement_attempt: Integer,
63
+ max_improvement_attempts: Integer,
64
64
  request_options: Deeprails::RequestOptions
65
65
  }
66
66
 
@@ -7,7 +7,7 @@ module Deeprails
7
7
  created_at: Time,
8
8
  description: String,
9
9
  improvement_action: Deeprails::Models::DefendResponse::improvement_action,
10
- max_improvement_attempt: Integer,
10
+ max_improvement_attempts: Integer,
11
11
  modified_at: Time,
12
12
  status: Deeprails::Models::DefendResponse::status,
13
13
  success_rate: Float
@@ -32,9 +32,9 @@ module Deeprails
32
32
  Deeprails::Models::DefendResponse::improvement_action
33
33
  ) -> Deeprails::Models::DefendResponse::improvement_action
34
34
 
35
- attr_reader max_improvement_attempt: Integer?
35
+ attr_reader max_improvement_attempts: Integer?
36
36
 
37
- def max_improvement_attempt=: (Integer) -> Integer
37
+ def max_improvement_attempts=: (Integer) -> Integer
38
38
 
39
39
  attr_reader modified_at: Time?
40
40
 
@@ -56,7 +56,7 @@ module Deeprails
56
56
  ?created_at: Time,
57
57
  ?description: String,
58
58
  ?improvement_action: Deeprails::Models::DefendResponse::improvement_action,
59
- ?max_improvement_attempt: Integer,
59
+ ?max_improvement_attempts: Integer,
60
60
  ?modified_at: Time,
61
61
  ?status: Deeprails::Models::DefendResponse::status,
62
62
  ?success_rate: Float
@@ -68,7 +68,7 @@ module Deeprails
68
68
  created_at: Time,
69
69
  description: String,
70
70
  improvement_action: Deeprails::Models::DefendResponse::improvement_action,
71
- max_improvement_attempt: Integer,
71
+ max_improvement_attempts: Integer,
72
72
  modified_at: Time,
73
73
  status: Deeprails::Models::DefendResponse::status,
74
74
  success_rate: Float
@@ -0,0 +1,134 @@
1
+ module Deeprails
2
+ module Models
3
+ type monitor_detail_response =
4
+ {
5
+ monitor_id: String,
6
+ monitor_status: Deeprails::Models::MonitorDetailResponse::monitor_status,
7
+ name: String,
8
+ created_at: Time,
9
+ description: String,
10
+ evaluations: ::Array[Deeprails::Evaluation],
11
+ stats: Deeprails::MonitorDetailResponse::Stats,
12
+ updated_at: Time,
13
+ user_id: String
14
+ }
15
+
16
+ class MonitorDetailResponse < Deeprails::Internal::Type::BaseModel
17
+ attr_accessor monitor_id: String
18
+
19
+ attr_accessor monitor_status: Deeprails::Models::MonitorDetailResponse::monitor_status
20
+
21
+ attr_accessor name: String
22
+
23
+ attr_reader created_at: Time?
24
+
25
+ def created_at=: (Time) -> Time
26
+
27
+ attr_reader description: String?
28
+
29
+ def description=: (String) -> String
30
+
31
+ attr_reader evaluations: ::Array[Deeprails::Evaluation]?
32
+
33
+ def evaluations=: (
34
+ ::Array[Deeprails::Evaluation]
35
+ ) -> ::Array[Deeprails::Evaluation]
36
+
37
+ attr_reader stats: Deeprails::MonitorDetailResponse::Stats?
38
+
39
+ def stats=: (
40
+ Deeprails::MonitorDetailResponse::Stats
41
+ ) -> Deeprails::MonitorDetailResponse::Stats
42
+
43
+ attr_reader updated_at: Time?
44
+
45
+ def updated_at=: (Time) -> Time
46
+
47
+ attr_reader user_id: String?
48
+
49
+ def user_id=: (String) -> String
50
+
51
+ def initialize: (
52
+ monitor_id: String,
53
+ monitor_status: Deeprails::Models::MonitorDetailResponse::monitor_status,
54
+ name: String,
55
+ ?created_at: Time,
56
+ ?description: String,
57
+ ?evaluations: ::Array[Deeprails::Evaluation],
58
+ ?stats: Deeprails::MonitorDetailResponse::Stats,
59
+ ?updated_at: Time,
60
+ ?user_id: String
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ monitor_id: String,
65
+ monitor_status: Deeprails::Models::MonitorDetailResponse::monitor_status,
66
+ name: String,
67
+ created_at: Time,
68
+ description: String,
69
+ evaluations: ::Array[Deeprails::Evaluation],
70
+ stats: Deeprails::MonitorDetailResponse::Stats,
71
+ updated_at: Time,
72
+ user_id: String
73
+ }
74
+
75
+ type monitor_status = :active | :inactive
76
+
77
+ module MonitorStatus
78
+ extend Deeprails::Internal::Type::Enum
79
+
80
+ ACTIVE: :active
81
+ INACTIVE: :inactive
82
+
83
+ def self?.values: -> ::Array[Deeprails::Models::MonitorDetailResponse::monitor_status]
84
+ end
85
+
86
+ type stats =
87
+ {
88
+ completed_evaluations: Integer,
89
+ failed_evaluations: Integer,
90
+ in_progress_evaluations: Integer,
91
+ queued_evaluations: Integer,
92
+ total_evaluations: Integer
93
+ }
94
+
95
+ class Stats < Deeprails::Internal::Type::BaseModel
96
+ attr_reader completed_evaluations: Integer?
97
+
98
+ def completed_evaluations=: (Integer) -> Integer
99
+
100
+ attr_reader failed_evaluations: Integer?
101
+
102
+ def failed_evaluations=: (Integer) -> Integer
103
+
104
+ attr_reader in_progress_evaluations: Integer?
105
+
106
+ def in_progress_evaluations=: (Integer) -> Integer
107
+
108
+ attr_reader queued_evaluations: Integer?
109
+
110
+ def queued_evaluations=: (Integer) -> Integer
111
+
112
+ attr_reader total_evaluations: Integer?
113
+
114
+ def total_evaluations=: (Integer) -> Integer
115
+
116
+ def initialize: (
117
+ ?completed_evaluations: Integer,
118
+ ?failed_evaluations: Integer,
119
+ ?in_progress_evaluations: Integer,
120
+ ?queued_evaluations: Integer,
121
+ ?total_evaluations: Integer
122
+ ) -> void
123
+
124
+ def to_hash: -> {
125
+ completed_evaluations: Integer,
126
+ failed_evaluations: Integer,
127
+ in_progress_evaluations: Integer,
128
+ queued_evaluations: Integer,
129
+ total_evaluations: Integer
130
+ }
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,37 @@
1
+ module Deeprails
2
+ module Models
3
+ type monitor_event_response =
4
+ {
5
+ evaluation_id: String,
6
+ event_id: String,
7
+ monitor_id: String,
8
+ created_at: Time
9
+ }
10
+
11
+ class MonitorEventResponse < Deeprails::Internal::Type::BaseModel
12
+ attr_accessor evaluation_id: String
13
+
14
+ attr_accessor event_id: String
15
+
16
+ attr_accessor monitor_id: String
17
+
18
+ attr_reader created_at: Time?
19
+
20
+ def created_at=: (Time) -> Time
21
+
22
+ def initialize: (
23
+ evaluation_id: String,
24
+ event_id: String,
25
+ monitor_id: String,
26
+ ?created_at: Time
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ evaluation_id: String,
31
+ event_id: String,
32
+ monitor_id: String,
33
+ created_at: Time
34
+ }
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,73 @@
1
+ module Deeprails
2
+ module Models
3
+ type monitor_response =
4
+ {
5
+ monitor_id: String,
6
+ name: String,
7
+ created_at: Time,
8
+ description: String,
9
+ monitor_status: Deeprails::Models::MonitorResponse::monitor_status,
10
+ updated_at: Time,
11
+ user_id: String
12
+ }
13
+
14
+ class MonitorResponse < Deeprails::Internal::Type::BaseModel
15
+ attr_accessor monitor_id: String
16
+
17
+ attr_accessor name: String
18
+
19
+ attr_reader created_at: Time?
20
+
21
+ def created_at=: (Time) -> Time
22
+
23
+ attr_reader description: String?
24
+
25
+ def description=: (String) -> String
26
+
27
+ attr_reader monitor_status: Deeprails::Models::MonitorResponse::monitor_status?
28
+
29
+ def monitor_status=: (
30
+ Deeprails::Models::MonitorResponse::monitor_status
31
+ ) -> Deeprails::Models::MonitorResponse::monitor_status
32
+
33
+ attr_reader updated_at: Time?
34
+
35
+ def updated_at=: (Time) -> Time
36
+
37
+ attr_reader user_id: String?
38
+
39
+ def user_id=: (String) -> String
40
+
41
+ def initialize: (
42
+ monitor_id: String,
43
+ name: String,
44
+ ?created_at: Time,
45
+ ?description: String,
46
+ ?monitor_status: Deeprails::Models::MonitorResponse::monitor_status,
47
+ ?updated_at: Time,
48
+ ?user_id: String
49
+ ) -> void
50
+
51
+ def to_hash: -> {
52
+ monitor_id: String,
53
+ name: String,
54
+ created_at: Time,
55
+ description: String,
56
+ monitor_status: Deeprails::Models::MonitorResponse::monitor_status,
57
+ updated_at: Time,
58
+ user_id: String
59
+ }
60
+
61
+ type monitor_status = :active | :inactive
62
+
63
+ module MonitorStatus
64
+ extend Deeprails::Internal::Type::Enum
65
+
66
+ ACTIVE: :active
67
+ INACTIVE: :inactive
68
+
69
+ def self?.values: -> ::Array[Deeprails::Models::MonitorResponse::monitor_status]
70
+ end
71
+ end
72
+ end
73
+ end
@@ -1,6 +1,4 @@
1
1
  module Deeprails
2
- class APIResponse = Deeprails::Models::APIResponse
3
-
4
2
  class DefendCreateWorkflowParams = Deeprails::Models::DefendCreateWorkflowParams
5
3
 
6
4
  class DefendResponse = Deeprails::Models::DefendResponse
@@ -21,6 +19,12 @@ module Deeprails
21
19
 
22
20
  class MonitorCreateParams = Deeprails::Models::MonitorCreateParams
23
21
 
22
+ class MonitorDetailResponse = Deeprails::Models::MonitorDetailResponse
23
+
24
+ class MonitorEventResponse = Deeprails::Models::MonitorEventResponse
25
+
26
+ class MonitorResponse = Deeprails::Models::MonitorResponse
27
+
24
28
  class MonitorRetrieveParams = Deeprails::Models::MonitorRetrieveParams
25
29
 
26
30
  class MonitorSubmitEventParams = Deeprails::Models::MonitorSubmitEventParams
@@ -8,7 +8,7 @@ module Deeprails
8
8
  ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
9
9
  ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
10
10
  ?description: String,
11
- ?max_improvement_attempt: Integer,
11
+ ?max_improvement_attempts: Integer,
12
12
  ?request_options: Deeprails::request_opts
13
13
  ) -> Deeprails::DefendResponse
14
14
 
@@ -5,13 +5,13 @@ module Deeprails
5
5
  name: String,
6
6
  ?description: String,
7
7
  ?request_options: Deeprails::request_opts
8
- ) -> Deeprails::APIResponse
8
+ ) -> Deeprails::MonitorResponse
9
9
 
10
10
  def retrieve: (
11
11
  String monitor_id,
12
12
  ?limit: Integer,
13
13
  ?request_options: Deeprails::request_opts
14
- ) -> Deeprails::Models::MonitorRetrieveResponse
14
+ ) -> Deeprails::MonitorDetailResponse
15
15
 
16
16
  def update: (
17
17
  String monitor_id,
@@ -19,7 +19,7 @@ module Deeprails
19
19
  ?monitor_status: Deeprails::Models::MonitorUpdateParams::monitor_status,
20
20
  ?name: String,
21
21
  ?request_options: Deeprails::request_opts
22
- ) -> Deeprails::APIResponse
22
+ ) -> Deeprails::MonitorResponse
23
23
 
24
24
  def submit_event: (
25
25
  String monitor_id,
@@ -30,7 +30,7 @@ module Deeprails
30
30
  ?nametag: String,
31
31
  ?run_mode: Deeprails::Models::MonitorSubmitEventParams::run_mode,
32
32
  ?request_options: Deeprails::request_opts
33
- ) -> Deeprails::Models::MonitorSubmitEventResponse
33
+ ) -> Deeprails::MonitorEventResponse
34
34
 
35
35
  def initialize: (client: Deeprails::Client) -> void
36
36
  end