Class: RLM::Result
- Inherits:
-
Object
- Object
- RLM::Result
- Defined in:
- lib/rlm/result.rb
Constant Summary collapse
- STATUSES =
%i[ completed needs_review failed_validation budget_exceeded sandbox_error tool_error provider_error aborted ].freeze
- FAILURE_STATUSES =
%i[ failed_validation budget_exceeded sandbox_error tool_error provider_error aborted ].freeze
Instance Attribute Summary collapse
-
#cost_cents ⇒ Object
readonly
Returns the value of attribute cost_cents.
-
#duration_ms ⇒ Object
readonly
Returns the value of attribute duration_ms.
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#iterations ⇒ Object
readonly
Returns the value of attribute iterations.
-
#llm_calls ⇒ Object
readonly
Returns the value of attribute llm_calls.
-
#output ⇒ Object
readonly
Returns the value of attribute output.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
-
#trace ⇒ Object
readonly
Returns the value of attribute trace.
-
#validation_errors ⇒ Object
readonly
Returns the value of attribute validation_errors.
Instance Method Summary collapse
- #failed? ⇒ Boolean
-
#initialize(trace:, status:, output: nil, error: nil, cost_cents: 0, duration_ms: 0, llm_calls: 0, iterations: 0, validation_errors: []) ⇒ Result
constructor
A new instance of Result.
- #needs_review? ⇒ Boolean
- #success? ⇒ Boolean
- #to_h ⇒ Object
Constructor Details
#initialize(trace:, status:, output: nil, error: nil, cost_cents: 0, duration_ms: 0, llm_calls: 0, iterations: 0, validation_errors: []) ⇒ Result
Returns a new instance of Result.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rlm/result.rb', line 28 def initialize( trace:, status:, output: nil, error: nil, cost_cents: 0, duration_ms: 0, llm_calls: 0, iterations: 0, validation_errors: [] ) raise ArgumentError, "Unknown status: #{status.inspect}" unless STATUSES.include?(status) @output = output @trace = trace @status = status @error = error @cost_cents = cost_cents @duration_ms = duration_ms @llm_calls = llm_calls @iterations = iterations @validation_errors = validation_errors end |
Instance Attribute Details
#cost_cents ⇒ Object (readonly)
Returns the value of attribute cost_cents.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def cost_cents @cost_cents end |
#duration_ms ⇒ Object (readonly)
Returns the value of attribute duration_ms.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def duration_ms @duration_ms end |
#error ⇒ Object (readonly)
Returns the value of attribute error.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def error @error end |
#iterations ⇒ Object (readonly)
Returns the value of attribute iterations.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def iterations @iterations end |
#llm_calls ⇒ Object (readonly)
Returns the value of attribute llm_calls.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def llm_calls @llm_calls end |
#output ⇒ Object (readonly)
Returns the value of attribute output.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def output @output end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def status @status end |
#trace ⇒ Object (readonly)
Returns the value of attribute trace.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def trace @trace end |
#validation_errors ⇒ Object (readonly)
Returns the value of attribute validation_errors.
25 26 27 |
# File 'lib/rlm/result.rb', line 25 def validation_errors @validation_errors end |
Instance Method Details
#failed? ⇒ Boolean
60 61 62 |
# File 'lib/rlm/result.rb', line 60 def failed? FAILURE_STATUSES.include?(status) end |
#needs_review? ⇒ Boolean
56 57 58 |
# File 'lib/rlm/result.rb', line 56 def needs_review? status == :needs_review end |
#success? ⇒ Boolean
52 53 54 |
# File 'lib/rlm/result.rb', line 52 def success? status == :completed end |
#to_h ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/rlm/result.rb', line 64 def to_h { output: output, status: status, error: error&., cost_cents: cost_cents, duration_ms: duration_ms, llm_calls: llm_calls, iterations: iterations, validation_errors: validation_errors, trace_id: trace&.id } end |