riffer 0.47.1 → 0.48.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/.claude/rules/rbs-inline.md +5 -1
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +31 -0
- data/Rakefile +1 -1
- data/Steepfile +1 -15
- data/docs/AGENTS.md +37 -3
- data/docs/AGENT_LIFECYCLE.md +1 -0
- data/docs/CONFIGURATION.md +1 -1
- data/docs/EVALS.md +2 -1
- data/docs/MCP.md +0 -4
- data/docs/MESSAGES.md +85 -17
- data/docs/STREAM_EVENTS.md +31 -4
- data/docs/TRACING.md +1 -1
- data/docs/providers/AMAZON_BEDROCK.md +1 -1
- data/docs/providers/CUSTOM_PROVIDERS.md +58 -4
- data/docs/providers/GEMINI.md +1 -1
- data/docs/providers/MOCK_PROVIDER.md +17 -0
- data/lib/riffer/agent/config.rb +40 -16
- data/lib/riffer/agent/outcome.rb +2 -2
- data/lib/riffer/agent/response.rb +16 -9
- data/lib/riffer/agent/run.rb +24 -9
- data/lib/riffer/agent/session.rb +2 -1
- data/lib/riffer/agent/structured_output/result.rb +2 -2
- data/lib/riffer/agent/structured_output.rb +1 -1
- data/lib/riffer/agent.rb +40 -16
- data/lib/riffer/config.rb +31 -31
- data/lib/riffer/evals/evaluator.rb +29 -2
- data/lib/riffer/evals/judge.rb +13 -8
- data/lib/riffer/evals/result.rb +6 -6
- data/lib/riffer/evals/run_result.rb +1 -1
- data/lib/riffer/evals/scenario_result.rb +6 -6
- data/lib/riffer/files/resolver.rb +3 -3
- data/lib/riffer/guardrails/modification.rb +3 -3
- data/lib/riffer/guardrails/result.rb +3 -3
- data/lib/riffer/guardrails/runner.rb +4 -4
- data/lib/riffer/guardrails/tripwire.rb +4 -4
- data/lib/riffer/helpers/deep_dup.rb +42 -0
- data/lib/riffer/mcp/manifest.rb +5 -5
- data/lib/riffer/mcp/registration.rb +1 -1
- data/lib/riffer/mcp/search_tool.rb +1 -1
- data/lib/riffer/messages/assistant/reasoning_part.rb +90 -0
- data/lib/riffer/messages/assistant/tool_call.rb +63 -0
- data/lib/riffer/messages/assistant.rb +55 -7
- data/lib/riffer/messages/base.rb +7 -25
- data/lib/riffer/messages/system.rb +10 -0
- data/lib/riffer/messages/tool.rb +21 -4
- data/lib/riffer/messages/{file_part.rb → user/file_part.rb} +18 -17
- data/lib/riffer/messages/user.rb +13 -2
- data/lib/riffer/params/param.rb +20 -8
- data/lib/riffer/params.rb +10 -1
- data/lib/riffer/providers/amazon_bedrock.rb +34 -6
- data/lib/riffer/providers/anthropic.rb +9 -2
- data/lib/riffer/providers/base.rb +28 -10
- data/lib/riffer/providers/finish_reason.rb +2 -2
- data/lib/riffer/providers/gemini.rb +2 -2
- data/lib/riffer/providers/mock.rb +19 -3
- data/lib/riffer/providers/open_ai.rb +14 -5
- data/lib/riffer/providers/open_router.rb +6 -5
- data/lib/riffer/providers/repository.rb +0 -4
- data/lib/riffer/providers/token_usage.rb +21 -5
- data/lib/riffer/skills/adapter.rb +1 -1
- data/lib/riffer/skills/config.rb +12 -0
- data/lib/riffer/skills/context.rb +4 -7
- data/lib/riffer/skills/filesystem_backend.rb +1 -2
- data/lib/riffer/skills/frontmatter.rb +4 -4
- data/lib/riffer/skills/xml_adapter.rb +1 -1
- data/lib/riffer/stream_events/base.rb +1 -1
- data/lib/riffer/stream_events/finish_reason_done.rb +2 -2
- data/lib/riffer/stream_events/guardrail_modification.rb +1 -1
- data/lib/riffer/stream_events/guardrail_tripwire.rb +1 -1
- data/lib/riffer/stream_events/interrupt.rb +2 -2
- data/lib/riffer/stream_events/reasoning_delta.rb +1 -1
- data/lib/riffer/stream_events/reasoning_done.rb +10 -8
- data/lib/riffer/stream_events/skill_activation.rb +1 -1
- data/lib/riffer/stream_events/text_delta.rb +1 -1
- data/lib/riffer/stream_events/text_done.rb +1 -1
- data/lib/riffer/stream_events/token_usage_done.rb +1 -1
- data/lib/riffer/stream_events/tool_call_delta.rb +3 -3
- data/lib/riffer/stream_events/tool_call_done.rb +4 -4
- data/lib/riffer/stream_events/web_search_done.rb +2 -2
- data/lib/riffer/stream_events/web_search_status.rb +3 -3
- data/lib/riffer/tools/response.rb +4 -4
- data/lib/riffer/tools/runtime.rb +3 -4
- data/lib/riffer/tracing/capture.rb +2 -4
- data/lib/riffer/tracing/stream_recorder.rb +6 -6
- data/lib/riffer/version.rb +1 -1
- data/lib/riffer.rb +7 -0
- data/rbs_collection.lock.yaml +320 -0
- data/rbs_collection.yaml +12 -0
- data/sig/_private/anthropic.rbs +5 -4
- data/sig/_private/aws-sdk-core/event_error.rbs +15 -0
- data/sig/generated/riffer/agent/config.rbs +19 -5
- data/sig/generated/riffer/agent/response.rbs +6 -1
- data/sig/generated/riffer/agent/run.rbs +15 -8
- data/sig/generated/riffer/agent.rbs +25 -9
- data/sig/generated/riffer/config.rbs +1 -1
- data/sig/generated/riffer/evals/evaluator.rbs +20 -1
- data/sig/generated/riffer/evals/judge.rbs +5 -2
- data/sig/generated/riffer/files/resolver.rbs +6 -6
- data/sig/generated/riffer/helpers/deep_dup.rbs +21 -0
- data/sig/generated/riffer/messages/assistant/reasoning_part.rbs +58 -0
- data/sig/generated/riffer/messages/assistant/tool_call.rbs +42 -0
- data/sig/generated/riffer/messages/assistant.rbs +24 -10
- data/sig/generated/riffer/messages/system.rbs +6 -0
- data/sig/generated/riffer/messages/tool.rbs +6 -0
- data/sig/generated/riffer/messages/{file_part.rbs → user/file_part.rbs} +11 -6
- data/sig/generated/riffer/messages/user.rbs +9 -3
- data/sig/generated/riffer/params/param.rbs +7 -0
- data/sig/generated/riffer/params.rbs +6 -0
- data/sig/generated/riffer/providers/amazon_bedrock.rbs +14 -5
- data/sig/generated/riffer/providers/anthropic.rbs +2 -2
- data/sig/generated/riffer/providers/base.rbs +22 -10
- data/sig/generated/riffer/providers/gemini.rbs +4 -4
- data/sig/generated/riffer/providers/mock.rbs +7 -2
- data/sig/generated/riffer/providers/open_ai.rbs +4 -4
- data/sig/generated/riffer/providers/open_router.rbs +4 -4
- data/sig/generated/riffer/providers/repository.rbs +0 -2
- data/sig/generated/riffer/providers/token_usage.rbs +6 -0
- data/sig/generated/riffer/skills/config.rbs +9 -0
- data/sig/generated/riffer/stream_events/reasoning_done.rbs +8 -6
- data/sig/generated/riffer/tools/runtime.rbs +2 -2
- data/sig/generated/riffer/tracing/capture.rbs +4 -4
- data/sig/generated/riffer.rbs +8 -0
- data/sig/manual/riffer/helpers/deep_dup.rbs +5 -0
- metadata +13 -5
- data/sig/_private/async.rbs +0 -28
- data/sig/_private/minitest.rbs +0 -9
data/sig/generated/riffer.rbs
CHANGED
|
@@ -25,6 +25,14 @@ module Riffer
|
|
|
25
25
|
class ToolExecutionError < Error
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
# Raised when a provider's stream ends before its terminal event (Bedrock's
|
|
29
|
+
# messageStop, Anthropic's message_stop, OpenAI's response.completed /
|
|
30
|
+
# incomplete / failed), so a truncated or empty response is never returned
|
|
31
|
+
# as a complete message. Events already yielded were delivered; the
|
|
32
|
+
# request is safe to retry.
|
|
33
|
+
class IncompleteStreamError < Error
|
|
34
|
+
end
|
|
35
|
+
|
|
28
36
|
# Base error for a file attachment that can't be resolved for the provider.
|
|
29
37
|
class FileError < Error
|
|
30
38
|
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.48.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jake Bottrall
|
|
@@ -138,6 +138,7 @@ files:
|
|
|
138
138
|
- lib/riffer/helpers.rb
|
|
139
139
|
- lib/riffer/helpers/boolean.rb
|
|
140
140
|
- lib/riffer/helpers/call_or_value.rb
|
|
141
|
+
- lib/riffer/helpers/deep_dup.rb
|
|
141
142
|
- lib/riffer/helpers/dependencies.rb
|
|
142
143
|
- lib/riffer/helpers/identifier.rb
|
|
143
144
|
- lib/riffer/mcp.rb
|
|
@@ -151,11 +152,13 @@ files:
|
|
|
151
152
|
- lib/riffer/mcp/tool_factory.rb
|
|
152
153
|
- lib/riffer/messages.rb
|
|
153
154
|
- lib/riffer/messages/assistant.rb
|
|
155
|
+
- lib/riffer/messages/assistant/reasoning_part.rb
|
|
156
|
+
- lib/riffer/messages/assistant/tool_call.rb
|
|
154
157
|
- lib/riffer/messages/base.rb
|
|
155
|
-
- lib/riffer/messages/file_part.rb
|
|
156
158
|
- lib/riffer/messages/system.rb
|
|
157
159
|
- lib/riffer/messages/tool.rb
|
|
158
160
|
- lib/riffer/messages/user.rb
|
|
161
|
+
- lib/riffer/messages/user/file_part.rb
|
|
159
162
|
- lib/riffer/params.rb
|
|
160
163
|
- lib/riffer/params/boolean.rb
|
|
161
164
|
- lib/riffer/params/param.rb
|
|
@@ -220,12 +223,13 @@ files:
|
|
|
220
223
|
- lib/riffer/tracing/otel.rb
|
|
221
224
|
- lib/riffer/tracing/stream_recorder.rb
|
|
222
225
|
- lib/riffer/version.rb
|
|
226
|
+
- rbs_collection.lock.yaml
|
|
227
|
+
- rbs_collection.yaml
|
|
223
228
|
- sig/_private/anthropic.rbs
|
|
224
|
-
- sig/_private/
|
|
229
|
+
- sig/_private/aws-sdk-core/event_error.rbs
|
|
225
230
|
- sig/_private/aws-sdk-core/seahorse_request_context.rbs
|
|
226
231
|
- sig/_private/aws-sdk-core/static_token_provider.rbs
|
|
227
232
|
- sig/_private/mcp.rbs
|
|
228
|
-
- sig/_private/minitest.rbs
|
|
229
233
|
- sig/_private/openai.rbs
|
|
230
234
|
- sig/_private/opentelemetry.rbs
|
|
231
235
|
- sig/_private/riffer/providers/amazon_bedrock.rbs
|
|
@@ -268,6 +272,7 @@ files:
|
|
|
268
272
|
- sig/generated/riffer/helpers.rbs
|
|
269
273
|
- sig/generated/riffer/helpers/boolean.rbs
|
|
270
274
|
- sig/generated/riffer/helpers/call_or_value.rbs
|
|
275
|
+
- sig/generated/riffer/helpers/deep_dup.rbs
|
|
271
276
|
- sig/generated/riffer/helpers/dependencies.rbs
|
|
272
277
|
- sig/generated/riffer/helpers/identifier.rbs
|
|
273
278
|
- sig/generated/riffer/mcp.rbs
|
|
@@ -281,11 +286,13 @@ files:
|
|
|
281
286
|
- sig/generated/riffer/mcp/tool_factory.rbs
|
|
282
287
|
- sig/generated/riffer/messages.rbs
|
|
283
288
|
- sig/generated/riffer/messages/assistant.rbs
|
|
289
|
+
- sig/generated/riffer/messages/assistant/reasoning_part.rbs
|
|
290
|
+
- sig/generated/riffer/messages/assistant/tool_call.rbs
|
|
284
291
|
- sig/generated/riffer/messages/base.rbs
|
|
285
|
-
- sig/generated/riffer/messages/file_part.rbs
|
|
286
292
|
- sig/generated/riffer/messages/system.rbs
|
|
287
293
|
- sig/generated/riffer/messages/tool.rbs
|
|
288
294
|
- sig/generated/riffer/messages/user.rbs
|
|
295
|
+
- sig/generated/riffer/messages/user/file_part.rbs
|
|
289
296
|
- sig/generated/riffer/params.rbs
|
|
290
297
|
- sig/generated/riffer/params/boolean.rbs
|
|
291
298
|
- sig/generated/riffer/params/param.rbs
|
|
@@ -358,6 +365,7 @@ files:
|
|
|
358
365
|
- sig/manual/riffer/evals/evaluator_runner.rbs
|
|
359
366
|
- sig/manual/riffer/helpers/boolean.rbs
|
|
360
367
|
- sig/manual/riffer/helpers/call_or_value.rbs
|
|
368
|
+
- sig/manual/riffer/helpers/deep_dup.rbs
|
|
361
369
|
- sig/manual/riffer/helpers/dependencies.rbs
|
|
362
370
|
- sig/manual/riffer/helpers/identifier.rbs
|
|
363
371
|
- sig/manual/riffer/mcp.rbs
|
data/sig/_private/async.rbs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Minimal signatures for the optional `async` gem, which ships no RBS.
|
|
2
|
-
#
|
|
3
|
-
# Only the surface used by Riffer::Runner::Fibers is declared; the gem is
|
|
4
|
-
# loaded lazily via depends_on, so this stub keeps Steep aware of the
|
|
5
|
-
# constants without adding a hard `library` dependency.
|
|
6
|
-
module Async
|
|
7
|
-
class Barrier
|
|
8
|
-
def initialize: () -> void
|
|
9
|
-
|
|
10
|
-
def async: () { () -> void } -> untyped
|
|
11
|
-
|
|
12
|
-
def wait: () -> void
|
|
13
|
-
|
|
14
|
-
def stop: () -> void
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
class Semaphore
|
|
18
|
-
def initialize: (Integer, ?parent: untyped) -> void
|
|
19
|
-
|
|
20
|
-
def async: () { () -> void } -> untyped
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
module Kernel
|
|
25
|
-
def Async: () { () -> void } -> untyped
|
|
26
|
-
|
|
27
|
-
def Sync: () { () -> void } -> untyped
|
|
28
|
-
end
|
data/sig/_private/minitest.rbs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Minimal signatures for `minitest`, a development-only framework riffer never
|
|
2
|
-
# depends on. Only the surface `lib/riffer/testing/minitest.rb` touches is
|
|
3
|
-
# declared; the file is required by hand from a consumer's test_helper, so this
|
|
4
|
-
# stub keeps Steep aware of the constants without a `library` dependency.
|
|
5
|
-
module Minitest
|
|
6
|
-
class Test
|
|
7
|
-
def after_teardown: () -> void
|
|
8
|
-
end
|
|
9
|
-
end
|