riffer 0.33.0 → 0.35.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.
- checksums.yaml +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +19 -0
- data/docs/03_AGENTS.md +44 -0
- data/docs/10_CONFIGURATION.md +15 -15
- data/docs/16_TRACING.md +32 -4
- data/docs/17_METRICS.md +36 -4
- data/lib/riffer/agent/run.rb +82 -49
- data/lib/riffer/agent.rb +20 -13
- data/lib/riffer/config.rb +23 -24
- data/lib/riffer/guardrails/runner.rb +40 -11
- data/lib/riffer/metrics/instruments.rb +6 -0
- data/lib/riffer/metrics/{null.rb → no_op.rb} +1 -1
- data/lib/riffer/metrics/otel.rb +4 -3
- data/lib/riffer/metrics.rb +7 -6
- data/lib/riffer/providers/amazon_bedrock.rb +7 -1
- data/lib/riffer/providers/anthropic.rb +8 -1
- data/lib/riffer/providers/base.rb +38 -26
- data/lib/riffer/providers/gemini.rb +5 -1
- data/lib/riffer/providers/open_ai.rb +10 -1
- data/lib/riffer/providers/open_router.rb +10 -1
- data/lib/riffer/tools/runtime.rb +30 -20
- data/lib/riffer/tracing/{null.rb → no_op.rb} +3 -3
- data/lib/riffer/tracing/otel.rb +4 -3
- data/lib/riffer/tracing.rb +9 -9
- data/lib/riffer/version.rb +1 -1
- data/sig/generated/riffer/agent/run.rbs +47 -30
- data/sig/generated/riffer/agent.rbs +16 -9
- data/sig/generated/riffer/config.rbs +14 -14
- data/sig/generated/riffer/guardrails/runner.rbs +15 -4
- data/sig/generated/riffer/metrics/instruments.rbs +2 -0
- data/sig/generated/riffer/metrics/{null.rbs → no_op.rbs} +2 -2
- data/sig/generated/riffer/metrics/otel.rbs +4 -3
- data/sig/generated/riffer/metrics.rbs +7 -6
- data/sig/generated/riffer/providers/base.rbs +26 -20
- data/sig/generated/riffer/tools/runtime.rbs +24 -18
- data/sig/generated/riffer/tracing/{null.rbs → no_op.rbs} +5 -5
- data/sig/generated/riffer/tracing/otel.rbs +4 -3
- data/sig/generated/riffer/tracing.rbs +9 -9
- data/sig/manual/riffer/metrics/no_op.rbs +5 -0
- data/sig/manual/riffer/tracing/no_op.rbs +5 -0
- metadata +11 -11
- data/sig/manual/riffer/metrics/null.rbs +0 -5
- data/sig/manual/riffer/tracing/null.rbs +0 -5
|
@@ -91,50 +91,56 @@ class Riffer::Providers::Base
|
|
|
91
91
|
REQUEST_PARAM_ATTRIBUTES: Hash[Symbol, String]
|
|
92
92
|
|
|
93
93
|
# --
|
|
94
|
-
# : [R] (String?, Array[Riffer::Messages::Base], Hash[Symbol, untyped]) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
95
|
-
def in_chat_span: [R] (String?, Array[Riffer::Messages::Base], Hash[Symbol, untyped]) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
94
|
+
# : [R] (String?, Array[Riffer::Messages::Base], Hash[Symbol, untyped]) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
95
|
+
def in_chat_span: [R] (String?, Array[Riffer::Messages::Base], Hash[Symbol, untyped]) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
96
96
|
|
|
97
97
|
# --
|
|
98
98
|
# : (String?, Hash[Symbol, untyped]) -> Hash[String, untyped]
|
|
99
99
|
def chat_span_attributes: (String?, Hash[Symbol, untyped]) -> Hash[String, untyped]
|
|
100
100
|
|
|
101
101
|
# --
|
|
102
|
-
# : (String?) -> Hash[String, untyped]
|
|
103
|
-
def chat_metric_base_attributes: (String?) -> Hash[String, untyped]
|
|
102
|
+
# : (String?, ?Hash[String, String]) -> Hash[String, untyped]
|
|
103
|
+
def chat_metric_base_attributes: (String?, ?Hash[String, String]) -> Hash[String, untyped]
|
|
104
104
|
|
|
105
105
|
# --
|
|
106
|
-
# : (String?, String?) -> Hash[String, untyped]
|
|
107
|
-
def chat_metric_attributes: (String?, String?) -> Hash[String, untyped]
|
|
106
|
+
# : (String?, String?, ?Hash[String, String]) -> Hash[String, untyped]
|
|
107
|
+
def chat_metric_attributes: (String?, String?, ?Hash[String, String]) -> Hash[String, untyped]
|
|
108
|
+
|
|
109
|
+
# Maps normalized tags to their namespaced span/metric attribute form. An
|
|
110
|
+
# empty map yields an empty hash, so merging it is a no-op.
|
|
111
|
+
# --
|
|
112
|
+
# : (Hash[String, String]) -> Hash[String, String]
|
|
113
|
+
def tag_attributes: (Hash[String, String]) -> Hash[String, String]
|
|
108
114
|
|
|
109
115
|
# Per-call only — the run level would double-count an aggregate.
|
|
110
116
|
# --
|
|
111
|
-
# : (String?, Riffer::Providers::TokenUsage?) -> void
|
|
112
|
-
def record_token_usage_metric: (String?, Riffer::Providers::TokenUsage?) -> void
|
|
117
|
+
# : (String?, Riffer::Providers::TokenUsage?, ?Hash[String, String]) -> void
|
|
118
|
+
def record_token_usage_metric: (String?, Riffer::Providers::TokenUsage?, ?Hash[String, String]) -> void
|
|
113
119
|
|
|
114
120
|
# Per-call only — the run level would double-count an aggregate.
|
|
115
121
|
# --
|
|
116
|
-
# : (String?, Riffer::Providers::TokenUsage?) -> void
|
|
117
|
-
def record_cost_metric: (String?, Riffer::Providers::TokenUsage?) -> void
|
|
122
|
+
# : (String?, Riffer::Providers::TokenUsage?, ?Hash[String, String]) -> void
|
|
123
|
+
def record_cost_metric: (String?, Riffer::Providers::TokenUsage?, ?Hash[String, String]) -> void
|
|
118
124
|
|
|
119
125
|
# --
|
|
120
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
121
|
-
def record_finish_reason: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
126
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Symbol?, String?) -> void
|
|
127
|
+
def record_finish_reason: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Symbol?, String?) -> void
|
|
122
128
|
|
|
123
129
|
# --
|
|
124
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
125
|
-
def record_stream_outcome: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
130
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Riffer::Tracing::StreamRecorder) -> void
|
|
131
|
+
def record_stream_outcome: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Tracing::StreamRecorder) -> void
|
|
126
132
|
|
|
127
133
|
# --
|
|
128
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
129
|
-
def capture_input: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
134
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Array[Riffer::Messages::Base]) -> void
|
|
135
|
+
def capture_input: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Array[Riffer::Messages::Base]) -> void
|
|
130
136
|
|
|
131
137
|
# --
|
|
132
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
133
|
-
def capture_output: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
138
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), content: String?, tool_calls: Array[Riffer::Messages::Assistant::ToolCall], finish_reason: Symbol?) -> void
|
|
139
|
+
def capture_output: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, content: String?, tool_calls: Array[Riffer::Messages::Assistant::ToolCall], finish_reason: Symbol?) -> void
|
|
134
140
|
|
|
135
141
|
# --
|
|
136
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
137
|
-
def capture_messages?: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
142
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span)) -> bool
|
|
143
|
+
def capture_messages?: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> bool
|
|
138
144
|
|
|
139
145
|
# --
|
|
140
146
|
# : (Riffer::Providers::_EventSink, Riffer::Providers::FinishReason?) -> void
|
|
@@ -12,8 +12,8 @@ class Riffer::Tools::Runtime
|
|
|
12
12
|
|
|
13
13
|
# Executes a batch of tool calls, returning <tt>[tool_call, response]</tt> pairs.
|
|
14
14
|
# --
|
|
15
|
-
# : (Array[Riffer::Messages::Assistant::ToolCall], tools: Array[singleton(Riffer::Tool)], context: Riffer::Agent::Context?, ?assistant_message: Riffer::Messages::Assistant?) -> Array[[Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response]]
|
|
16
|
-
def execute: (Array[Riffer::Messages::Assistant::ToolCall], tools: Array[singleton(Riffer::Tool)], context: Riffer::Agent::Context?, ?assistant_message: Riffer::Messages::Assistant?) -> Array[[ Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response ]]
|
|
15
|
+
# : (Array[Riffer::Messages::Assistant::ToolCall], tools: Array[singleton(Riffer::Tool)], context: Riffer::Agent::Context?, ?assistant_message: Riffer::Messages::Assistant?, ?tags: Hash[String, String]) -> Array[[Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response]]
|
|
16
|
+
def execute: (Array[Riffer::Messages::Assistant::ToolCall], tools: Array[singleton(Riffer::Tool)], context: Riffer::Agent::Context?, ?assistant_message: Riffer::Messages::Assistant?, ?tags: Hash[String, String]) -> Array[[ Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response ]]
|
|
17
17
|
|
|
18
18
|
# Hook wrapping each tool call; override in subclasses to instrument or
|
|
19
19
|
# customize. Must +yield+ to continue.
|
|
@@ -36,8 +36,8 @@ class Riffer::Tools::Runtime
|
|
|
36
36
|
private
|
|
37
37
|
|
|
38
38
|
# --
|
|
39
|
-
# : (Riffer::Messages::Assistant::ToolCall) { () -> Riffer::Tools::Response } -> [Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response]
|
|
40
|
-
def instrument_tool_call: (Riffer::Messages::Assistant::ToolCall) { () -> Riffer::Tools::Response } -> [ Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response ]
|
|
39
|
+
# : (Riffer::Messages::Assistant::ToolCall, ?Hash[String, String]) { () -> Riffer::Tools::Response } -> [Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response]
|
|
40
|
+
def instrument_tool_call: (Riffer::Messages::Assistant::ToolCall, ?Hash[String, String]) { () -> Riffer::Tools::Response } -> [ Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response ]
|
|
41
41
|
|
|
42
42
|
# --
|
|
43
43
|
# : (Riffer::Messages::Assistant::ToolCall, tools: Array[singleton(Riffer::Tool)], context: Riffer::Agent::Context?, ?assistant_message: Riffer::Messages::Assistant?) -> Riffer::Tools::Response
|
|
@@ -49,32 +49,38 @@ class Riffer::Tools::Runtime
|
|
|
49
49
|
|
|
50
50
|
# Emitted outside +around_tool_call+ so host enrichment spans nest beneath it.
|
|
51
51
|
# --
|
|
52
|
-
# : [R] (Riffer::Messages::Assistant::ToolCall) { ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
53
|
-
def in_tool_span: [R] (Riffer::Messages::Assistant::ToolCall) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
52
|
+
# : [R] (Riffer::Messages::Assistant::ToolCall, ?Hash[String, String]) { ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span)) -> R } -> R
|
|
53
|
+
def in_tool_span: [R] (Riffer::Messages::Assistant::ToolCall, ?Hash[String, String]) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
54
54
|
|
|
55
55
|
# --
|
|
56
|
-
# : (Riffer::Messages::Assistant::ToolCall) -> Hash[String, untyped]
|
|
57
|
-
def tool_span_attributes: (Riffer::Messages::Assistant::ToolCall) -> Hash[String, untyped]
|
|
56
|
+
# : (Riffer::Messages::Assistant::ToolCall, ?Hash[String, String]) -> Hash[String, untyped]
|
|
57
|
+
def tool_span_attributes: (Riffer::Messages::Assistant::ToolCall, ?Hash[String, String]) -> Hash[String, untyped]
|
|
58
58
|
|
|
59
59
|
# --
|
|
60
|
-
# : (Riffer::Messages::Assistant::ToolCall, String?) -> Hash[String, untyped]
|
|
61
|
-
def tool_metric_attributes: (Riffer::Messages::Assistant::ToolCall, String?) -> Hash[String, untyped]
|
|
60
|
+
# : (Riffer::Messages::Assistant::ToolCall, String?, ?Hash[String, String]) -> Hash[String, untyped]
|
|
61
|
+
def tool_metric_attributes: (Riffer::Messages::Assistant::ToolCall, String?, ?Hash[String, String]) -> Hash[String, untyped]
|
|
62
|
+
|
|
63
|
+
# Maps normalized tags to their namespaced span/metric attribute form. An
|
|
64
|
+
# empty map yields an empty hash, so merging it is a no-op.
|
|
65
|
+
# --
|
|
66
|
+
# : (Hash[String, String]) -> Hash[String, String]
|
|
67
|
+
def tag_attributes: (Hash[String, String]) -> Hash[String, String]
|
|
62
68
|
|
|
63
69
|
# A returned error Response is a handled outcome, so its status stays unset —
|
|
64
70
|
# an error span status is reserved for a raised exception.
|
|
65
71
|
# --
|
|
66
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
67
|
-
def record_tool_outcome: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
72
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Riffer::Tools::Response) -> void
|
|
73
|
+
def record_tool_outcome: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Tools::Response) -> void
|
|
68
74
|
|
|
69
75
|
# --
|
|
70
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
71
|
-
def capture_tool_arguments: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
76
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Riffer::Messages::Assistant::ToolCall) -> void
|
|
77
|
+
def capture_tool_arguments: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Messages::Assistant::ToolCall) -> void
|
|
72
78
|
|
|
73
79
|
# --
|
|
74
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
75
|
-
def capture_tool_result: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
80
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Riffer::Tools::Response) -> void
|
|
81
|
+
def capture_tool_result: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Tools::Response) -> void
|
|
76
82
|
|
|
77
83
|
# --
|
|
78
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
79
|
-
def capture_tool_content?: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
84
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span)) -> bool
|
|
85
|
+
def capture_tool_content?: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> bool
|
|
80
86
|
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Generated from lib/riffer/tracing/
|
|
1
|
+
# Generated from lib/riffer/tracing/no_op.rb with RBS::Inline
|
|
2
2
|
|
|
3
3
|
# No-op tracing backend, used when OTEL is unavailable or tracing is
|
|
4
4
|
# disabled.
|
|
5
|
-
module Riffer::Tracing::
|
|
5
|
+
module Riffer::Tracing::NoOp
|
|
6
6
|
# No-op stand-in for a span; answers <tt>recording?</tt> with +false+ so
|
|
7
7
|
# callers can skip expensive attribute serialization.
|
|
8
8
|
class Span
|
|
@@ -27,12 +27,12 @@ module Riffer::Tracing::Null
|
|
|
27
27
|
def recording?: () -> bool
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
SPAN: Riffer::Tracing::
|
|
30
|
+
SPAN: Riffer::Tracing::NoOp::Span
|
|
31
31
|
|
|
32
32
|
# Yields the no-op span, ignoring all span options.
|
|
33
33
|
# --
|
|
34
|
-
# : [R] (String, **untyped) { (Riffer::Tracing::
|
|
35
|
-
def in_span: [R] (String, **untyped) { (Riffer::Tracing::
|
|
34
|
+
# : [R] (String, **untyped) { (Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
35
|
+
def in_span: [R] (String, **untyped) { (Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
36
36
|
|
|
37
37
|
# Returns +nil+; there is no trace context without OTEL.
|
|
38
38
|
# --
|
|
@@ -39,10 +39,11 @@ class Riffer::Tracing::Otel
|
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
# Builds a backend when the OpenTelemetry API is loadable at a supported
|
|
42
|
-
# version; returns +nil+ so resolution falls back to
|
|
42
|
+
# version; returns +nil+ so resolution falls back to NoOp. +provider+
|
|
43
|
+
# defaults to the global <tt>OpenTelemetry.tracer_provider</tt>.
|
|
43
44
|
# --
|
|
44
|
-
# : (provider: untyped) -> Riffer::Tracing::Otel?
|
|
45
|
-
def self.build: (provider: untyped) -> Riffer::Tracing::Otel?
|
|
45
|
+
# : (?provider: untyped) -> Riffer::Tracing::Otel?
|
|
46
|
+
def self.build: (?provider: untyped) -> Riffer::Tracing::Otel?
|
|
46
47
|
|
|
47
48
|
# Whether the OpenTelemetry API gem is loadable at a supported version.
|
|
48
49
|
# --
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# OpenTelemetry API and no-ops otherwise, so riffer never declares an OTEL
|
|
5
5
|
# dependency.
|
|
6
6
|
module Riffer::Tracing
|
|
7
|
-
@backend:
|
|
7
|
+
@backend: untyped
|
|
8
8
|
|
|
9
9
|
MUTEX: Mutex
|
|
10
10
|
|
|
@@ -14,8 +14,8 @@ module Riffer::Tracing
|
|
|
14
14
|
|
|
15
15
|
# Opens a span around the block, yielding the span.
|
|
16
16
|
# --
|
|
17
|
-
# : [R] (String, ?attributes: Hash[String, untyped]?, ?kind: Symbol) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
18
|
-
def in_span: [R] (String, ?attributes: Hash[String, untyped]?, ?kind: Symbol) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
17
|
+
# : [R] (String, ?attributes: Hash[String, untyped]?, ?kind: Symbol) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
18
|
+
def in_span: [R] (String, ?attributes: Hash[String, untyped]?, ?kind: Symbol) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> R } -> R
|
|
19
19
|
|
|
20
20
|
# Returns the active trace context, for re-attachment across fiber or
|
|
21
21
|
# thread boundaries.
|
|
@@ -32,8 +32,8 @@ module Riffer::Tracing
|
|
|
32
32
|
# Stamps token usage onto the span — the <tt>gen_ai.usage.*</tt> counts and,
|
|
33
33
|
# when the model was priced, <tt>riffer.cost</tt>.
|
|
34
34
|
# --
|
|
35
|
-
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
36
|
-
def record_usage: (Riffer::Tracing::Otel::Span | Riffer::Tracing::
|
|
35
|
+
# : ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Riffer::Providers::TokenUsage?) -> void
|
|
36
|
+
def record_usage: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Providers::TokenUsage?) -> void
|
|
37
37
|
|
|
38
38
|
# Discards the resolved backend so the next span re-resolves it.
|
|
39
39
|
# --
|
|
@@ -43,10 +43,10 @@ module Riffer::Tracing
|
|
|
43
43
|
private
|
|
44
44
|
|
|
45
45
|
# --
|
|
46
|
-
# : () ->
|
|
47
|
-
def backend: () ->
|
|
46
|
+
# : () -> untyped
|
|
47
|
+
def backend: () -> untyped
|
|
48
48
|
|
|
49
49
|
# --
|
|
50
|
-
# : () ->
|
|
51
|
-
def resolve_backend: () ->
|
|
50
|
+
# : () -> untyped
|
|
51
|
+
def resolve_backend: () -> untyped
|
|
52
52
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: riffer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.35.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jake Bottrall
|
|
@@ -35,14 +35,14 @@ dependencies:
|
|
|
35
35
|
requirements:
|
|
36
36
|
- - "~>"
|
|
37
37
|
- !ruby/object:Gem::Version
|
|
38
|
-
version: 1.
|
|
38
|
+
version: 1.49.0
|
|
39
39
|
type: :development
|
|
40
40
|
prerelease: false
|
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
42
42
|
requirements:
|
|
43
43
|
- - "~>"
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
|
-
version: 1.
|
|
45
|
+
version: 1.49.0
|
|
46
46
|
- !ruby/object:Gem::Dependency
|
|
47
47
|
name: aws-sdk-bedrockruntime
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -91,14 +91,14 @@ dependencies:
|
|
|
91
91
|
requirements:
|
|
92
92
|
- - "~>"
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: 0.
|
|
94
|
+
version: 0.68.0
|
|
95
95
|
type: :development
|
|
96
96
|
prerelease: false
|
|
97
97
|
version_requirements: !ruby/object:Gem::Requirement
|
|
98
98
|
requirements:
|
|
99
99
|
- - "~>"
|
|
100
100
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: 0.
|
|
101
|
+
version: 0.68.0
|
|
102
102
|
- !ruby/object:Gem::Dependency
|
|
103
103
|
name: async
|
|
104
104
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -336,7 +336,7 @@ files:
|
|
|
336
336
|
- lib/riffer/messages/user.rb
|
|
337
337
|
- lib/riffer/metrics.rb
|
|
338
338
|
- lib/riffer/metrics/instruments.rb
|
|
339
|
-
- lib/riffer/metrics/
|
|
339
|
+
- lib/riffer/metrics/no_op.rb
|
|
340
340
|
- lib/riffer/metrics/otel.rb
|
|
341
341
|
- lib/riffer/params.rb
|
|
342
342
|
- lib/riffer/params/boolean.rb
|
|
@@ -393,7 +393,7 @@ files:
|
|
|
393
393
|
- lib/riffer/tools/toolable.rb
|
|
394
394
|
- lib/riffer/tracing.rb
|
|
395
395
|
- lib/riffer/tracing/capture.rb
|
|
396
|
-
- lib/riffer/tracing/
|
|
396
|
+
- lib/riffer/tracing/no_op.rb
|
|
397
397
|
- lib/riffer/tracing/otel.rb
|
|
398
398
|
- lib/riffer/tracing/stream_recorder.rb
|
|
399
399
|
- lib/riffer/version.rb
|
|
@@ -457,7 +457,7 @@ files:
|
|
|
457
457
|
- sig/generated/riffer/messages/user.rbs
|
|
458
458
|
- sig/generated/riffer/metrics.rbs
|
|
459
459
|
- sig/generated/riffer/metrics/instruments.rbs
|
|
460
|
-
- sig/generated/riffer/metrics/
|
|
460
|
+
- sig/generated/riffer/metrics/no_op.rbs
|
|
461
461
|
- sig/generated/riffer/metrics/otel.rbs
|
|
462
462
|
- sig/generated/riffer/params.rbs
|
|
463
463
|
- sig/generated/riffer/params/boolean.rbs
|
|
@@ -514,7 +514,7 @@ files:
|
|
|
514
514
|
- sig/generated/riffer/tools/toolable.rbs
|
|
515
515
|
- sig/generated/riffer/tracing.rbs
|
|
516
516
|
- sig/generated/riffer/tracing/capture.rbs
|
|
517
|
-
- sig/generated/riffer/tracing/
|
|
517
|
+
- sig/generated/riffer/tracing/no_op.rbs
|
|
518
518
|
- sig/generated/riffer/tracing/otel.rbs
|
|
519
519
|
- sig/generated/riffer/tracing/stream_recorder.rbs
|
|
520
520
|
- sig/generated/riffer/version.rbs
|
|
@@ -533,12 +533,12 @@ files:
|
|
|
533
533
|
- sig/manual/riffer/mcp/registry.rbs
|
|
534
534
|
- sig/manual/riffer/mcp/tool_factory.rbs
|
|
535
535
|
- sig/manual/riffer/metrics.rbs
|
|
536
|
-
- sig/manual/riffer/metrics/
|
|
536
|
+
- sig/manual/riffer/metrics/no_op.rbs
|
|
537
537
|
- sig/manual/riffer/providers.rbs
|
|
538
538
|
- sig/manual/riffer/providers/repository.rbs
|
|
539
539
|
- sig/manual/riffer/tracing.rbs
|
|
540
540
|
- sig/manual/riffer/tracing/capture.rbs
|
|
541
|
-
- sig/manual/riffer/tracing/
|
|
541
|
+
- sig/manual/riffer/tracing/no_op.rbs
|
|
542
542
|
homepage: https://riffer.ai
|
|
543
543
|
licenses:
|
|
544
544
|
- MIT
|