riffer 0.47.2 → 0.49.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/comments.md +2 -4
- data/.claude/rules/rbs-inline.md +2 -12
- data/.release-please-manifest.json +1 -1
- data/.rubocop.yml +5 -0
- data/CHANGELOG.md +42 -0
- data/docs/AGENTS.md +39 -7
- data/docs/AGENT_LIFECYCLE.md +14 -16
- data/docs/CONFIGURATION.md +23 -34
- data/docs/EVALS.md +2 -1
- data/docs/MCP.md +0 -4
- data/docs/MESSAGES.md +85 -17
- data/docs/STREAM_EVENTS.md +8 -4
- data/docs/TOOL_ADVANCED.md +1 -3
- data/docs/TRACING.md +2 -2
- data/docs/providers/AMAZON_BEDROCK.md +32 -1
- data/docs/providers/CUSTOM_PROVIDERS.md +56 -4
- data/docs/providers/GEMINI.md +1 -1
- data/docs/providers/MOCK_PROVIDER.md +17 -0
- data/docs/providers/OPENROUTER.md +18 -1
- data/docs-site/build.rb +0 -6
- data/docs-site/check.rb +1 -5
- data/lib/riffer/agent/config.rb +27 -44
- data/lib/riffer/agent/context.rb +2 -26
- data/lib/riffer/agent/outcome.rb +0 -20
- data/lib/riffer/agent/response.rb +4 -35
- data/lib/riffer/agent/run.rb +32 -48
- data/lib/riffer/agent/serializer.rb +10 -39
- data/lib/riffer/agent/session/repair.rb +3 -15
- data/lib/riffer/agent/session.rb +26 -38
- data/lib/riffer/agent/structured_output/result.rb +0 -8
- data/lib/riffer/agent/structured_output.rb +0 -7
- data/lib/riffer/agent.rb +31 -127
- data/lib/riffer/config/amazon_bedrock.rb +30 -0
- data/lib/riffer/config/anthropic.rb +21 -0
- data/lib/riffer/config/azure_open_ai.rb +30 -0
- data/lib/riffer/config/evals.rb +18 -0
- data/lib/riffer/config/files.rb +61 -0
- data/lib/riffer/config/gemini.rb +21 -0
- data/lib/riffer/config/mcp.rb +31 -0
- data/lib/riffer/config/open_ai.rb +30 -0
- data/lib/riffer/config/open_router.rb +21 -0
- data/lib/riffer/config/pricing/rates.rb +36 -0
- data/lib/riffer/config/pricing.rb +64 -0
- data/lib/riffer/config/skills.rb +38 -0
- data/lib/riffer/config/tracing.rb +43 -0
- data/lib/riffer/config.rb +3 -362
- data/lib/riffer/evals/evaluator.rb +22 -23
- data/lib/riffer/evals/evaluator_runner.rb +0 -15
- data/lib/riffer/evals/judge.rb +9 -11
- data/lib/riffer/evals/result.rb +1 -11
- data/lib/riffer/evals/run_result.rb +0 -12
- data/lib/riffer/evals/scenario_result.rb +0 -19
- data/lib/riffer/files/downloader.rb +2 -3
- data/lib/riffer/files/resolver.rb +5 -10
- data/lib/riffer/guardrail.rb +2 -22
- data/lib/riffer/guardrails/modification.rb +0 -8
- data/lib/riffer/guardrails/result.rb +0 -17
- data/lib/riffer/guardrails/runner.rb +2 -11
- data/lib/riffer/guardrails/tripwire.rb +0 -8
- data/lib/riffer/guardrails.rb +0 -2
- data/lib/riffer/helpers/boolean.rb +0 -4
- data/lib/riffer/helpers/call_or_value.rb +0 -3
- data/lib/riffer/helpers/deep_dup.rb +37 -0
- data/lib/riffer/helpers/dependencies.rb +0 -4
- data/lib/riffer/helpers/identifier.rb +3 -12
- data/lib/riffer/helpers/validate.rb +42 -0
- data/lib/riffer/mcp/authenticated_tool.rb +4 -12
- data/lib/riffer/mcp/client.rb +0 -7
- data/lib/riffer/mcp/manifest.rb +3 -7
- data/lib/riffer/mcp/registration.rb +0 -10
- data/lib/riffer/mcp/registry.rb +0 -9
- data/lib/riffer/mcp/search_tool.rb +0 -4
- data/lib/riffer/mcp/tool.rb +1 -4
- data/lib/riffer/mcp/tool_factory.rb +3 -6
- data/lib/riffer/mcp.rb +2 -23
- data/lib/riffer/messages/assistant/reasoning_part.rb +73 -0
- data/lib/riffer/messages/assistant/tool_call.rb +55 -0
- data/lib/riffer/messages/assistant.rb +43 -15
- data/lib/riffer/messages/base.rb +5 -33
- data/lib/riffer/messages/system.rb +8 -1
- data/lib/riffer/messages/tool.rb +15 -13
- data/lib/riffer/messages/{file_part.rb → user/file_part.rb} +16 -40
- data/lib/riffer/messages/user.rb +11 -4
- data/lib/riffer/params/boolean.rb +1 -5
- data/lib/riffer/params/param.rb +15 -31
- data/lib/riffer/params.rb +15 -39
- data/lib/riffer/providers/amazon_bedrock.rb +104 -44
- data/lib/riffer/providers/anthropic.rb +11 -26
- data/lib/riffer/providers/azure_open_ai.rb +3 -8
- data/lib/riffer/providers/base.rb +30 -32
- data/lib/riffer/providers/finish_reason.rb +0 -6
- data/lib/riffer/providers/gemini/client.rb +4 -17
- data/lib/riffer/providers/gemini.rb +6 -12
- data/lib/riffer/providers/mock.rb +18 -27
- data/lib/riffer/providers/open_ai.rb +12 -21
- data/lib/riffer/providers/open_router.rb +109 -33
- data/lib/riffer/providers/repository.rb +2 -14
- data/lib/riffer/providers/token_usage.rb +19 -12
- data/lib/riffer/registrable.rb +11 -45
- data/lib/riffer/runner/fibers.rb +1 -6
- data/lib/riffer/runner/sequential.rb +0 -1
- data/lib/riffer/runner/threaded.rb +0 -3
- data/lib/riffer/runner.rb +0 -3
- data/lib/riffer/skills/activate_tool.rb +0 -3
- data/lib/riffer/skills/adapter.rb +0 -8
- data/lib/riffer/skills/backend.rb +2 -7
- data/lib/riffer/skills/config.rb +13 -17
- data/lib/riffer/skills/context.rb +0 -29
- data/lib/riffer/skills/filesystem_backend.rb +0 -7
- data/lib/riffer/skills/frontmatter.rb +2 -16
- data/lib/riffer/skills/markdown_adapter.rb +3 -6
- data/lib/riffer/skills/xml_adapter.rb +0 -3
- data/lib/riffer/stream_events/base.rb +0 -3
- data/lib/riffer/stream_events/finish_reason_done.rb +1 -6
- data/lib/riffer/stream_events/guardrail_modification.rb +0 -10
- data/lib/riffer/stream_events/guardrail_tripwire.rb +0 -10
- data/lib/riffer/stream_events/interrupt.rb +2 -12
- data/lib/riffer/stream_events/reasoning_delta.rb +0 -3
- data/lib/riffer/stream_events/reasoning_done.rb +6 -8
- data/lib/riffer/stream_events/skill_activation.rb +0 -3
- data/lib/riffer/stream_events/text_delta.rb +0 -2
- data/lib/riffer/stream_events/text_done.rb +0 -2
- data/lib/riffer/stream_events/token_usage_done.rb +0 -2
- data/lib/riffer/stream_events/tool_call_delta.rb +1 -5
- data/lib/riffer/stream_events/tool_call_done.rb +0 -5
- data/lib/riffer/stream_events/web_search_done.rb +0 -3
- data/lib/riffer/stream_events/web_search_status.rb +1 -5
- data/lib/riffer/testing/minitest.rb +4 -5
- data/lib/riffer/testing.rb +5 -38
- data/lib/riffer/tool.rb +2 -28
- data/lib/riffer/tools/response.rb +3 -32
- data/lib/riffer/tools/runtime/fibers.rb +0 -6
- data/lib/riffer/tools/runtime/inline.rb +0 -1
- data/lib/riffer/tools/runtime/threaded.rb +0 -6
- data/lib/riffer/tools/runtime.rb +8 -30
- data/lib/riffer/tools/toolable.rb +0 -37
- data/lib/riffer/tracing/capture.rb +5 -9
- data/lib/riffer/tracing/no_op.rb +0 -7
- data/lib/riffer/tracing/otel.rb +7 -16
- data/lib/riffer/tracing/stream_recorder.rb +0 -7
- data/lib/riffer/tracing.rb +4 -27
- data/lib/riffer/version.rb +1 -1
- data/lib/riffer.rb +2 -30
- data/sig/generated/riffer/agent/config.rbs +24 -46
- data/sig/generated/riffer/agent/context.rbs +2 -26
- data/sig/generated/riffer/agent/outcome.rbs +0 -20
- data/sig/generated/riffer/agent/response.rbs +4 -27
- data/sig/generated/riffer/agent/run.rbs +12 -31
- data/sig/generated/riffer/agent/serializer.rbs +2 -27
- data/sig/generated/riffer/agent/session/repair.rbs +2 -10
- data/sig/generated/riffer/agent/session.rbs +10 -36
- data/sig/generated/riffer/agent/structured_output/result.rbs +0 -7
- data/sig/generated/riffer/agent/structured_output.rbs +0 -7
- data/sig/generated/riffer/agent.rbs +25 -125
- data/sig/generated/riffer/config/amazon_bedrock.rbs +21 -0
- data/sig/generated/riffer/config/anthropic.rbs +15 -0
- data/sig/generated/riffer/config/azure_open_ai.rbs +21 -0
- data/sig/generated/riffer/config/evals.rbs +13 -0
- data/sig/generated/riffer/config/files.rbs +43 -0
- data/sig/generated/riffer/config/gemini.rbs +15 -0
- data/sig/generated/riffer/config/mcp.rbs +19 -0
- data/sig/generated/riffer/config/open_ai.rbs +21 -0
- data/sig/generated/riffer/config/open_router.rbs +15 -0
- data/sig/generated/riffer/config/pricing/rates.rbs +19 -0
- data/sig/generated/riffer/config/pricing.rbs +31 -0
- data/sig/generated/riffer/config/skills.rbs +19 -0
- data/sig/generated/riffer/config/tracing.rbs +25 -0
- data/sig/generated/riffer/config.rbs +2 -307
- data/sig/generated/riffer/evals/evaluator.rbs +12 -21
- data/sig/generated/riffer/evals/evaluator_runner.rbs +0 -14
- data/sig/generated/riffer/evals/judge.rbs +4 -8
- data/sig/generated/riffer/evals/result.rbs +1 -11
- data/sig/generated/riffer/evals/run_result.rbs +0 -12
- data/sig/generated/riffer/evals/scenario_result.rbs +0 -14
- data/sig/generated/riffer/files/resolver.rbs +6 -13
- data/sig/generated/riffer/guardrail.rbs +2 -22
- data/sig/generated/riffer/guardrails/modification.rbs +0 -6
- data/sig/generated/riffer/guardrails/result.rbs +0 -15
- data/sig/generated/riffer/guardrails/runner.rbs +0 -11
- data/sig/generated/riffer/guardrails/tripwire.rbs +0 -8
- data/sig/generated/riffer/guardrails.rbs +0 -2
- data/sig/generated/riffer/helpers/boolean.rbs +0 -4
- data/sig/generated/riffer/helpers/call_or_value.rbs +0 -3
- data/sig/generated/riffer/helpers/deep_dup.rbs +13 -0
- data/sig/generated/riffer/helpers/dependencies.rbs +0 -4
- data/sig/generated/riffer/helpers/identifier.rbs +0 -12
- data/sig/generated/riffer/helpers/validate.rbs +21 -0
- data/sig/generated/riffer/mcp/authenticated_tool.rbs +0 -5
- data/sig/generated/riffer/mcp/client.rbs +0 -7
- data/sig/generated/riffer/mcp/manifest.rbs +3 -7
- data/sig/generated/riffer/mcp/registration.rbs +0 -10
- data/sig/generated/riffer/mcp/registry.rbs +0 -9
- data/sig/generated/riffer/mcp/search_tool.rbs +0 -4
- data/sig/generated/riffer/mcp/tool.rbs +0 -4
- data/sig/generated/riffer/mcp/tool_factory.rbs +0 -6
- data/sig/generated/riffer/mcp.rbs +2 -22
- data/sig/generated/riffer/messages/assistant/reasoning_part.rbs +45 -0
- data/sig/generated/riffer/messages/assistant/tool_call.rbs +34 -0
- data/sig/generated/riffer/messages/assistant.rbs +25 -31
- data/sig/generated/riffer/messages/base.rbs +0 -12
- data/sig/generated/riffer/messages/system.rbs +4 -1
- data/sig/generated/riffer/messages/tool.rbs +4 -10
- data/sig/generated/riffer/messages/user/file_part.rbs +76 -0
- data/sig/generated/riffer/messages/user.rbs +7 -5
- data/sig/generated/riffer/params/boolean.rbs +1 -4
- data/sig/generated/riffer/params/param.rbs +7 -31
- data/sig/generated/riffer/params.rbs +8 -38
- data/sig/generated/riffer/providers/amazon_bedrock.rbs +33 -29
- data/sig/generated/riffer/providers/anthropic.rbs +2 -12
- data/sig/generated/riffer/providers/azure_open_ai.rbs +0 -8
- data/sig/generated/riffer/providers/base.rbs +18 -34
- data/sig/generated/riffer/providers/finish_reason.rbs +0 -6
- data/sig/generated/riffer/providers/gemini/client.rbs +4 -17
- data/sig/generated/riffer/providers/gemini.rbs +4 -10
- data/sig/generated/riffer/providers/mock.rbs +6 -27
- data/sig/generated/riffer/providers/open_ai.rbs +6 -13
- data/sig/generated/riffer/providers/open_router.rbs +37 -18
- data/sig/generated/riffer/providers/repository.rbs +2 -14
- data/sig/generated/riffer/providers/token_usage.rbs +9 -12
- data/sig/generated/riffer/registrable.rbs +0 -45
- data/sig/generated/riffer/runner/fibers.rbs +0 -6
- data/sig/generated/riffer/runner/sequential.rbs +0 -1
- data/sig/generated/riffer/runner/threaded.rbs +0 -3
- data/sig/generated/riffer/runner.rbs +0 -3
- data/sig/generated/riffer/skills/activate_tool.rbs +0 -3
- data/sig/generated/riffer/skills/adapter.rbs +0 -8
- data/sig/generated/riffer/skills/backend.rbs +2 -7
- data/sig/generated/riffer/skills/config.rbs +6 -17
- data/sig/generated/riffer/skills/context.rbs +0 -29
- data/sig/generated/riffer/skills/filesystem_backend.rbs +0 -7
- data/sig/generated/riffer/skills/frontmatter.rbs +2 -16
- data/sig/generated/riffer/skills/markdown_adapter.rbs +0 -6
- data/sig/generated/riffer/skills/xml_adapter.rbs +0 -3
- data/sig/generated/riffer/stream_events/base.rbs +0 -3
- data/sig/generated/riffer/stream_events/finish_reason_done.rbs +1 -6
- data/sig/generated/riffer/stream_events/guardrail_modification.rbs +0 -10
- data/sig/generated/riffer/stream_events/guardrail_tripwire.rbs +0 -10
- data/sig/generated/riffer/stream_events/interrupt.rbs +2 -10
- data/sig/generated/riffer/stream_events/reasoning_delta.rbs +0 -3
- data/sig/generated/riffer/stream_events/reasoning_done.rbs +4 -6
- data/sig/generated/riffer/stream_events/skill_activation.rbs +0 -3
- data/sig/generated/riffer/stream_events/text_delta.rbs +0 -2
- data/sig/generated/riffer/stream_events/text_done.rbs +0 -2
- data/sig/generated/riffer/stream_events/token_usage_done.rbs +0 -2
- data/sig/generated/riffer/stream_events/tool_call_delta.rbs +1 -5
- data/sig/generated/riffer/stream_events/tool_call_done.rbs +0 -5
- data/sig/generated/riffer/stream_events/web_search_done.rbs +0 -3
- data/sig/generated/riffer/stream_events/web_search_status.rbs +1 -5
- data/sig/generated/riffer/testing.rbs +0 -38
- data/sig/generated/riffer/tool.rbs +0 -27
- data/sig/generated/riffer/tools/response.rbs +3 -29
- data/sig/generated/riffer/tools/runtime/fibers.rbs +0 -5
- data/sig/generated/riffer/tools/runtime/inline.rbs +0 -1
- data/sig/generated/riffer/tools/runtime/threaded.rbs +0 -5
- data/sig/generated/riffer/tools/runtime.rbs +4 -26
- data/sig/generated/riffer/tools/toolable.rbs +0 -37
- data/sig/generated/riffer/tracing/capture.rbs +6 -9
- data/sig/generated/riffer/tracing/no_op.rbs +0 -7
- data/sig/generated/riffer/tracing/otel.rbs +7 -16
- data/sig/generated/riffer/tracing/stream_recorder.rbs +0 -2
- data/sig/generated/riffer/tracing.rbs +4 -23
- data/sig/generated/riffer.rbs +2 -29
- data/sig/manual/riffer/helpers/deep_dup.rbs +5 -0
- data/sig/manual/riffer/helpers/validate.rbs +5 -0
- metadata +39 -3
- data/sig/generated/riffer/messages/file_part.rbs +0 -101
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Generated from lib/riffer/runner/threaded.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Processes items concurrently using a thread pool of up to +max_concurrency+
|
|
4
|
-
# workers pulling from a shared queue, so a slow item doesn't block others. If
|
|
5
|
-
# multiple workers raise, only the first exception is re-raised after all finish.
|
|
6
3
|
class Riffer::Runner::Threaded < Riffer::Runner
|
|
7
4
|
@max_concurrency: Integer
|
|
8
5
|
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/runner.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Generic concurrency primitive for batch execution. Subclasses implement
|
|
4
|
-
# +map+ to control how items are processed.
|
|
5
3
|
class Riffer::Runner
|
|
6
|
-
# Maps over items using the provided block.
|
|
7
4
|
# --
|
|
8
5
|
# : (Array[untyped], context: Riffer::Agent::Context?) { (untyped) -> untyped } -> Array[untyped]
|
|
9
6
|
def map: (Array[untyped], context: Riffer::Agent::Context?) { (untyped) -> untyped } -> Array[untyped]
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/activate_tool.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Tool the LLM calls to activate a skill and receive its instructions;
|
|
4
|
-
# registered automatically when an agent has skills configured.
|
|
5
3
|
class Riffer::Skills::ActivateTool < Riffer::Tool
|
|
6
|
-
# Activates a skill by name and returns its wrapped body, or a short pointer when the skill is already active.
|
|
7
4
|
# --
|
|
8
5
|
# : (context: Riffer::Agent::Context?, name: String) -> Riffer::Tools::Response
|
|
9
6
|
def call: (context: Riffer::Agent::Context?, name: String) -> Riffer::Tools::Response
|
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/adapter.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Interface for skill adapters — provider-specific rendering of the
|
|
4
|
-
# available-skills section in the system prompt. Subclass and override
|
|
5
|
-
# +render_catalog+; the activation tool is exposed via +#skill_activate_tool+
|
|
6
|
-
# for the rendered output.
|
|
7
3
|
class Riffer::Skills::Adapter
|
|
8
|
-
# The activation tool class for this adapter.
|
|
9
4
|
attr_reader skill_activate_tool: singleton(Riffer::Tool)
|
|
10
5
|
|
|
11
6
|
# --
|
|
12
7
|
# : (skill_activate_tool: singleton(Riffer::Tool)) -> void
|
|
13
8
|
def initialize: (skill_activate_tool: singleton(Riffer::Tool)) -> void
|
|
14
9
|
|
|
15
|
-
# Renders a skill catalog section for the system prompt.
|
|
16
10
|
# --
|
|
17
11
|
# : (Array[Riffer::Skills::Frontmatter]) -> String
|
|
18
12
|
def render_catalog: (Array[Riffer::Skills::Frontmatter]) -> String
|
|
19
13
|
|
|
20
|
-
# Renders an activated skill body wrapped in identifying tags.
|
|
21
14
|
# --
|
|
22
15
|
# : (Riffer::Skills::Frontmatter, String) -> String
|
|
23
16
|
def render_activation: (Riffer::Skills::Frontmatter, String) -> String
|
|
24
17
|
|
|
25
|
-
# The behavioral instructions rendered alongside the catalog.
|
|
26
18
|
# --
|
|
27
19
|
# : () -> String
|
|
28
20
|
def catalog_instructions: () -> String
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/backend.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Interface for skill storage backends. Subclass and implement +list_skills+
|
|
4
|
-
# and +read_skill+ for custom storage (database, S3, etc.); use
|
|
5
|
-
# Riffer::Skills::Frontmatter.parse on raw SKILL.md content.
|
|
6
3
|
class Riffer::Skills::Backend
|
|
7
4
|
SKILL_FILENAME: String
|
|
8
5
|
|
|
9
6
|
def initialize: () -> untyped
|
|
10
7
|
|
|
11
|
-
# Returns frontmatter for all available skills; called once at the start of
|
|
12
|
-
# generate/stream.
|
|
13
8
|
# --
|
|
14
9
|
# : () -> Array[Riffer::Skills::Frontmatter]
|
|
15
10
|
def list_skills: () -> Array[Riffer::Skills::Frontmatter]
|
|
16
11
|
|
|
17
|
-
# Returns the
|
|
18
|
-
#
|
|
12
|
+
# Returns the SKILL.md body without frontmatter. Raises Riffer::ArgumentError
|
|
13
|
+
# if the skill is not found.
|
|
19
14
|
# --
|
|
20
15
|
# : (String) -> String
|
|
21
16
|
def read_skill: (String) -> String
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/config.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Configuration object for the skills block DSL.
|
|
4
|
-
#
|
|
5
|
-
# skills do
|
|
6
|
-
# backend Riffer::Skills::FilesystemBackend.new(".skills")
|
|
7
|
-
# adapter Riffer::Skills::XmlAdapter
|
|
8
|
-
# activate ["code-review"]
|
|
9
|
-
# end
|
|
10
3
|
class Riffer::Skills::Config
|
|
11
4
|
@backend: (Riffer::Skills::Backend | Proc)?
|
|
12
5
|
|
|
@@ -20,29 +13,25 @@ class Riffer::Skills::Config
|
|
|
20
13
|
# : () -> void
|
|
21
14
|
def initialize: () -> void
|
|
22
15
|
|
|
23
|
-
# Gets or sets the skills backend (a Backend or a +context+-resolved Proc).
|
|
24
16
|
# --
|
|
25
17
|
# : (?(Riffer::Skills::Backend | Proc)?) -> (Riffer::Skills::Backend | Proc)?
|
|
26
18
|
def backend: (?(Riffer::Skills::Backend | Proc)?) -> (Riffer::Skills::Backend | Proc)?
|
|
27
19
|
|
|
28
|
-
# Gets or sets a custom skill adapter class; defaults to the provider's
|
|
29
|
-
# preferred adapter.
|
|
30
20
|
# --
|
|
31
21
|
# : (?singleton(Riffer::Skills::Adapter)?) -> singleton(Riffer::Skills::Adapter)?
|
|
32
22
|
def adapter: (?singleton(Riffer::Skills::Adapter)?) -> singleton(Riffer::Skills::Adapter)?
|
|
33
23
|
|
|
34
|
-
# Gets or sets skill names to activate at startup (an array or a
|
|
35
|
-
# +context+-resolved Proc); activated skills' bodies are included in the
|
|
36
|
-
# system prompt without a tool call.
|
|
37
24
|
# --
|
|
38
25
|
# : (?(Array[String] | Proc)?) -> (Array[String] | Proc)?
|
|
39
26
|
def activate: (?(Array[String] | Proc)?) -> (Array[String] | Proc)?
|
|
40
27
|
|
|
41
|
-
# Gets or sets the per-agent skill activation tool override, or +nil+ when
|
|
42
|
-
# unset — the global fallback to <tt>Riffer.config.skills.default_activate_tool</tt>
|
|
43
|
-
# is applied by the agent at resolution, not here. Raises Riffer::ArgumentError
|
|
44
|
-
# on an invalid value.
|
|
45
28
|
# --
|
|
46
29
|
# : (?singleton(Riffer::Tool)?) -> singleton(Riffer::Tool)?
|
|
47
30
|
def activate_tool: (?singleton(Riffer::Tool)?) -> singleton(Riffer::Tool)?
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
# --
|
|
35
|
+
# : (Riffer::Skills::Config) -> void
|
|
36
|
+
def initialize_copy: (Riffer::Skills::Config) -> void
|
|
48
37
|
end
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/context.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Skills context for an agent generation cycle — coordinates discovery,
|
|
4
|
-
# activation, and prompt rendering, caching skill bodies to avoid redundant
|
|
5
|
-
# backend reads. Exposed to tools via <tt>context.skills</tt>.
|
|
6
3
|
class Riffer::Skills::Context
|
|
7
4
|
@preactivated: Array[String]
|
|
8
5
|
|
|
@@ -12,79 +9,53 @@ class Riffer::Skills::Context
|
|
|
12
9
|
|
|
13
10
|
@backend: Riffer::Skills::Backend
|
|
14
11
|
|
|
15
|
-
# Skill catalog indexed by name.
|
|
16
12
|
attr_reader skills: Hash[String, Riffer::Skills::Frontmatter]
|
|
17
13
|
|
|
18
|
-
# The skill adapter used for this context.
|
|
19
14
|
attr_reader adapter: Riffer::Skills::Adapter
|
|
20
15
|
|
|
21
|
-
# Optional callback invoked when a skill is first activated.
|
|
22
16
|
attr_accessor on_activate: (^(String) -> void)?
|
|
23
17
|
|
|
24
18
|
# --
|
|
25
19
|
# : (backend: Riffer::Skills::Backend, skills: Hash[String, Riffer::Skills::Frontmatter], adapter: Riffer::Skills::Adapter) -> void
|
|
26
20
|
def initialize: (backend: Riffer::Skills::Backend, skills: Hash[String, Riffer::Skills::Frontmatter], adapter: Riffer::Skills::Adapter) -> void
|
|
27
21
|
|
|
28
|
-
# Returns a skill's body without recording an activation.
|
|
29
|
-
#
|
|
30
22
|
# Raises Riffer::ArgumentError if the skill is not in the catalog.
|
|
31
|
-
#
|
|
32
23
|
# --
|
|
33
24
|
# : (String) -> String
|
|
34
25
|
def read: (String) -> String
|
|
35
26
|
|
|
36
|
-
# Activates a skill by name. Returns the cached body on re-activation.
|
|
37
|
-
#
|
|
38
27
|
# Raises Riffer::ArgumentError if the skill is not in the catalog.
|
|
39
|
-
#
|
|
40
28
|
# --
|
|
41
29
|
# : (String) -> String
|
|
42
30
|
def activate: (String) -> String
|
|
43
31
|
|
|
44
|
-
# Activates a skill and returns its body wrapped for injection as a user
|
|
45
|
-
# message.
|
|
46
|
-
#
|
|
47
32
|
# Raises Riffer::ArgumentError if the skill is not in the catalog.
|
|
48
|
-
#
|
|
49
33
|
# --
|
|
50
34
|
# : (String) -> String
|
|
51
35
|
def activation_prompt: (String) -> String
|
|
52
36
|
|
|
53
|
-
# Activates a skill whose body renders in the system prompt rather than the
|
|
54
|
-
# conversation.
|
|
55
|
-
#
|
|
56
37
|
# Raises Riffer::ArgumentError if the skill is not in the catalog.
|
|
57
|
-
#
|
|
58
38
|
# --
|
|
59
39
|
# : (String) -> void
|
|
60
40
|
def preactivate: (String) -> void
|
|
61
41
|
|
|
62
|
-
# Clears a skill's activation so the next activation is treated as the first.
|
|
63
|
-
#
|
|
64
42
|
# Raises Riffer::ArgumentError if the skill is not in the catalog.
|
|
65
|
-
#
|
|
66
43
|
# --
|
|
67
44
|
# : (String) -> void
|
|
68
45
|
def deactivate: (String) -> void
|
|
69
46
|
|
|
70
|
-
# Returns whether a skill has been activated.
|
|
71
|
-
#
|
|
72
47
|
# --
|
|
73
48
|
# : (String) -> bool
|
|
74
49
|
def activated?: (String) -> bool
|
|
75
50
|
|
|
76
|
-
# Returns whether a skill exists and may be activated by the model.
|
|
77
51
|
# --
|
|
78
52
|
# : (String) -> bool
|
|
79
53
|
def model_invocable?: (String) -> bool
|
|
80
54
|
|
|
81
|
-
# Returns whether any skill is available for the model to activate.
|
|
82
55
|
# --
|
|
83
56
|
# : () -> bool
|
|
84
57
|
def activatable?: () -> bool
|
|
85
58
|
|
|
86
|
-
# Returns the complete skills section for the system prompt — the catalog plus
|
|
87
|
-
# any pre-activated skill bodies.
|
|
88
59
|
# --
|
|
89
60
|
# : () -> String
|
|
90
61
|
def system_prompt: () -> String
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/filesystem_backend.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Built-in backend that reads skills from the filesystem. Scans configured
|
|
4
|
-
# directories for immediate child directories containing +SKILL.md+; directory
|
|
5
|
-
# names must match the skill +name+.
|
|
6
3
|
class Riffer::Skills::FilesystemBackend < Riffer::Skills::Backend
|
|
7
4
|
@paths: Array[String]
|
|
8
5
|
|
|
@@ -12,14 +9,10 @@ class Riffer::Skills::FilesystemBackend < Riffer::Skills::Backend
|
|
|
12
9
|
# : (*String) -> void
|
|
13
10
|
def initialize: (*String) -> void
|
|
14
11
|
|
|
15
|
-
# Returns frontmatter for all discovered skills; on a name collision across
|
|
16
|
-
# paths, first-path-wins.
|
|
17
12
|
# --
|
|
18
13
|
# : () -> Array[Riffer::Skills::Frontmatter]
|
|
19
14
|
def list_skills: () -> Array[Riffer::Skills::Frontmatter]
|
|
20
15
|
|
|
21
|
-
# Returns the full SKILL.md body (without frontmatter) for a skill. Raises
|
|
22
|
-
# Riffer::ArgumentError if the skill is not found.
|
|
23
16
|
# --
|
|
24
17
|
# : (String) -> String
|
|
25
18
|
def read_skill: (String) -> String
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/frontmatter.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Immutable value object holding parsed SKILL.md YAML frontmatter. Required
|
|
4
|
-
# fields: +name+ and +description+; the optional +disable-model-invocation+
|
|
5
|
-
# flag is recognized, and any other unrecognized top-level keys are merged into
|
|
6
|
-
# +metadata+.
|
|
7
3
|
class Riffer::Skills::Frontmatter
|
|
8
4
|
NAME_PATTERN: Regexp
|
|
9
5
|
|
|
@@ -11,29 +7,20 @@ class Riffer::Skills::Frontmatter
|
|
|
11
7
|
|
|
12
8
|
MAX_DESCRIPTION_LENGTH: Integer
|
|
13
9
|
|
|
14
|
-
# The skill name (1-64 chars, lowercase alphanumeric and hyphens).
|
|
15
10
|
attr_reader name: String
|
|
16
11
|
|
|
17
|
-
# The skill description (1-1024 chars).
|
|
18
12
|
attr_reader description: String
|
|
19
13
|
|
|
20
|
-
# Whether the skill opts out of model-driven activation. Hidden from the
|
|
21
|
-
# catalog and rejected at model activation; still reachable via programmatic
|
|
22
|
-
# activation.
|
|
23
14
|
attr_reader disable_model_invocation: bool
|
|
24
15
|
|
|
25
|
-
# Metadata from the spec's +metadata+ field plus any unrecognized top-level
|
|
26
|
-
# keys.
|
|
27
16
|
attr_reader metadata: Hash[Symbol, untyped]
|
|
28
17
|
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
# if the frontmatter is invalid.
|
|
18
|
+
# Public so custom backends needn't reimplement parsing. Raises
|
|
19
|
+
# Riffer::ArgumentError if the frontmatter is invalid.
|
|
32
20
|
# --
|
|
33
21
|
# : (String) -> [Riffer::Skills::Frontmatter, String]
|
|
34
22
|
def self.parse: (String) -> [ Riffer::Skills::Frontmatter, String ]
|
|
35
23
|
|
|
36
|
-
# Parses only the frontmatter from a raw SKILL.md string, ignoring the body.
|
|
37
24
|
# Raises Riffer::ArgumentError if the frontmatter is invalid.
|
|
38
25
|
# --
|
|
39
26
|
# : (String) -> Riffer::Skills::Frontmatter
|
|
@@ -44,7 +31,6 @@ class Riffer::Skills::Frontmatter
|
|
|
44
31
|
def self.split_frontmatter: (String) -> [ Hash[Symbol, untyped], String ]
|
|
45
32
|
|
|
46
33
|
# Raises Riffer::ArgumentError if +name+ or +description+ is invalid.
|
|
47
|
-
# +disable_model_invocation+ is treated as set only when literally +true+.
|
|
48
34
|
# --
|
|
49
35
|
# : (name: String, description: String, ?disable_model_invocation: bool, ?metadata: Hash[Symbol, untyped]) -> void
|
|
50
36
|
def initialize: (name: String, description: String, ?disable_model_invocation: bool, ?metadata: Hash[Symbol, untyped]) -> void
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/markdown_adapter.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Default skill adapter — renders a skill catalog as Markdown for the system
|
|
4
|
-
# prompt.
|
|
5
3
|
class Riffer::Skills::MarkdownAdapter < Riffer::Skills::Adapter
|
|
6
|
-
# Renders a skill catalog as Markdown.
|
|
7
4
|
# --
|
|
8
5
|
# : (Array[Riffer::Skills::Frontmatter]) -> String
|
|
9
6
|
def render_catalog: (Array[Riffer::Skills::Frontmatter]) -> String
|
|
10
7
|
|
|
11
8
|
private
|
|
12
9
|
|
|
13
|
-
# Collapses whitespace so a multi-line (block scalar) description stays within
|
|
14
|
-
# its `-` list item instead of breaking out to column 0, where continuation
|
|
15
|
-
# lines would read as top-level prompt text or fabricated catalog entries.
|
|
16
10
|
# --
|
|
17
11
|
# : (String) -> String
|
|
18
12
|
def single_line: (String) -> String
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/skills/xml_adapter.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Renders a skill catalog as XML for the system prompt, optimized for
|
|
4
|
-
# Anthropic/Claude.
|
|
5
3
|
class Riffer::Skills::XmlAdapter < Riffer::Skills::Adapter
|
|
6
|
-
# Renders a skill catalog as XML.
|
|
7
4
|
# --
|
|
8
5
|
# : (Array[Riffer::Skills::Frontmatter]) -> String
|
|
9
6
|
def render_catalog: (Array[Riffer::Skills::Frontmatter]) -> String
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/base.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Base class for all streaming events. Subclasses must implement +to_h+.
|
|
4
3
|
class Riffer::StreamEvents::Base
|
|
5
|
-
# The message role (typically :assistant).
|
|
6
4
|
attr_reader role: Symbol
|
|
7
5
|
|
|
8
6
|
# --
|
|
9
7
|
# : (?role: Symbol) -> void
|
|
10
8
|
def initialize: (?role: Symbol) -> void
|
|
11
9
|
|
|
12
|
-
# Converts the event to a hash.
|
|
13
10
|
# --
|
|
14
11
|
# : () -> Hash[Symbol, untyped]
|
|
15
12
|
def to_h: () -> Hash[Symbol, untyped]
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/finish_reason_done.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
#
|
|
4
|
-
# stream; no ordering guarantee relative to TokenUsageDone.
|
|
3
|
+
# No ordering guarantee relative to TokenUsageDone.
|
|
5
4
|
class Riffer::StreamEvents::FinishReasonDone < Riffer::StreamEvents::Base
|
|
6
|
-
# The normalized finish reason (see <tt>Riffer::Providers::FinishReason::VALUES</tt>).
|
|
7
5
|
attr_reader finish_reason: Symbol
|
|
8
6
|
|
|
9
|
-
# The provider's raw finish-reason value, when one exists on the wire.
|
|
10
7
|
attr_reader raw_finish_reason: String?
|
|
11
8
|
|
|
12
|
-
# Raises Riffer::ArgumentError when +finish_reason+ is outside the
|
|
13
|
-
# normalized vocabulary.
|
|
14
9
|
# --
|
|
15
10
|
# : (finish_reason: Symbol, ?raw_finish_reason: String?, ?role: Symbol) -> void
|
|
16
11
|
def initialize: (finish_reason: Symbol, ?raw_finish_reason: String?, ?role: Symbol) -> void
|
|
@@ -1,34 +1,24 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/guardrail_modification.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Emitted when a guardrail transforms data during streaming.
|
|
4
3
|
class Riffer::StreamEvents::GuardrailModification < Riffer::StreamEvents::Base
|
|
5
|
-
# The modification record.
|
|
6
4
|
attr_reader modification: Riffer::Guardrails::Modification
|
|
7
5
|
|
|
8
6
|
# --
|
|
9
7
|
# : (Riffer::Guardrails::Modification, ?role: Symbol) -> void
|
|
10
8
|
def initialize: (Riffer::Guardrails::Modification, ?role: Symbol) -> void
|
|
11
9
|
|
|
12
|
-
# The guardrail class that made the transformation.
|
|
13
|
-
#
|
|
14
10
|
# --
|
|
15
11
|
# : () -> singleton(Riffer::Guardrail)
|
|
16
12
|
def guardrail: () -> singleton(Riffer::Guardrail)
|
|
17
13
|
|
|
18
|
-
# The phase when the transformation occurred.
|
|
19
|
-
#
|
|
20
14
|
# --
|
|
21
15
|
# : () -> Symbol
|
|
22
16
|
def phase: () -> Symbol
|
|
23
17
|
|
|
24
|
-
# The indices of messages that were changed.
|
|
25
|
-
#
|
|
26
18
|
# --
|
|
27
19
|
# : () -> Array[Integer]
|
|
28
20
|
def message_indices: () -> Array[Integer]
|
|
29
21
|
|
|
30
|
-
# Converts the event to a hash.
|
|
31
|
-
#
|
|
32
22
|
# --
|
|
33
23
|
# : () -> Hash[Symbol, untyped]
|
|
34
24
|
def to_h: () -> Hash[Symbol, untyped]
|
|
@@ -1,34 +1,24 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/guardrail_tripwire.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Emitted when a guardrail blocks execution during streaming.
|
|
4
3
|
class Riffer::StreamEvents::GuardrailTripwire < Riffer::StreamEvents::Base
|
|
5
|
-
# The tripwire containing block details.
|
|
6
4
|
attr_reader tripwire: Riffer::Guardrails::Tripwire
|
|
7
5
|
|
|
8
6
|
# --
|
|
9
7
|
# : (Riffer::Guardrails::Tripwire, ?role: Symbol) -> void
|
|
10
8
|
def initialize: (Riffer::Guardrails::Tripwire, ?role: Symbol) -> void
|
|
11
9
|
|
|
12
|
-
# The reason for blocking.
|
|
13
|
-
#
|
|
14
10
|
# --
|
|
15
11
|
# : () -> String
|
|
16
12
|
def reason: () -> String
|
|
17
13
|
|
|
18
|
-
# The phase when blocking occurred (:before or :after).
|
|
19
|
-
#
|
|
20
14
|
# --
|
|
21
15
|
# : () -> Symbol
|
|
22
16
|
def phase: () -> Symbol
|
|
23
17
|
|
|
24
|
-
# The guardrail class that triggered the block.
|
|
25
|
-
#
|
|
26
18
|
# --
|
|
27
19
|
# : () -> singleton(Riffer::Guardrail)
|
|
28
20
|
def guardrail: () -> singleton(Riffer::Guardrail)
|
|
29
21
|
|
|
30
|
-
# Converts the event to a hash.
|
|
31
|
-
#
|
|
32
22
|
# --
|
|
33
23
|
# : () -> Hash[Symbol, untyped]
|
|
34
24
|
def to_h: () -> Hash[Symbol, untyped]
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/interrupt.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents an interrupt during streaming, fired when a callback throws
|
|
4
|
-
# +:riffer_interrupt+.
|
|
5
3
|
class Riffer::StreamEvents::Interrupt < Riffer::StreamEvents::Base
|
|
6
|
-
# The reason provided with the interrupt, if any.
|
|
7
4
|
attr_reader reason: (String | Symbol)?
|
|
8
5
|
|
|
9
|
-
# Call ids of tool_use blocks riffer filled with placeholder results when the
|
|
10
|
-
# interrupt fired (only when history healing is on).
|
|
11
|
-
attr_reader healed_tool_call_ids: Array[String]
|
|
12
|
-
|
|
13
6
|
# --
|
|
14
|
-
# : (?reason: (String | Symbol)
|
|
15
|
-
def initialize: (?reason: (String | Symbol)
|
|
7
|
+
# : (?reason: (String | Symbol)?) -> void
|
|
8
|
+
def initialize: (?reason: (String | Symbol)?) -> void
|
|
16
9
|
|
|
17
|
-
# Converts the event to a hash.
|
|
18
10
|
# --
|
|
19
11
|
# : () -> Hash[Symbol, untyped]
|
|
20
12
|
def to_h: () -> Hash[Symbol, untyped]
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/reasoning_delta.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents an incremental reasoning chunk during streaming; only emitted by
|
|
4
|
-
# providers that support reasoning (e.g. OpenAI with the reasoning option).
|
|
5
3
|
class Riffer::StreamEvents::ReasoningDelta < Riffer::StreamEvents::Base
|
|
6
|
-
# The incremental reasoning content.
|
|
7
4
|
attr_reader content: String
|
|
8
5
|
|
|
9
6
|
# --
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/reasoning_done.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents completed reasoning during streaming; only emitted by providers
|
|
4
|
-
# that support reasoning (e.g. OpenAI with the reasoning option).
|
|
5
3
|
class Riffer::StreamEvents::ReasoningDone < Riffer::StreamEvents::Base
|
|
6
|
-
#
|
|
7
|
-
attr_reader
|
|
4
|
+
# +text+ is the concatenation of the preceding ReasoningDelta events.
|
|
5
|
+
attr_reader part: Riffer::Messages::Assistant::ReasoningPart
|
|
8
6
|
|
|
9
7
|
# --
|
|
10
|
-
# : (
|
|
11
|
-
def initialize: (
|
|
8
|
+
# : (Riffer::Messages::Assistant::ReasoningPart, ?role: Symbol) -> void
|
|
9
|
+
def initialize: (Riffer::Messages::Assistant::ReasoningPart, ?role: Symbol) -> void
|
|
12
10
|
|
|
13
11
|
# --
|
|
14
12
|
# : () -> Hash[Symbol, untyped]
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/skill_activation.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Emitted when a skill is activated during streaming, via the +on_activate+
|
|
4
|
-
# callback when the LLM calls the activation tool.
|
|
5
3
|
class Riffer::StreamEvents::SkillActivation < Riffer::StreamEvents::Base
|
|
6
|
-
# The activated skill name.
|
|
7
4
|
attr_reader name: String
|
|
8
5
|
|
|
9
6
|
# --
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/text_delta.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents an incremental text chunk during streaming.
|
|
4
3
|
class Riffer::StreamEvents::TextDelta < Riffer::StreamEvents::Base
|
|
5
|
-
# The incremental text content.
|
|
6
4
|
attr_reader content: String
|
|
7
5
|
|
|
8
6
|
# --
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/text_done.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents completed text generation during streaming.
|
|
4
3
|
class Riffer::StreamEvents::TextDone < Riffer::StreamEvents::Base
|
|
5
|
-
# The complete text content.
|
|
6
4
|
attr_reader content: String
|
|
7
5
|
|
|
8
6
|
# --
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/token_usage_done.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Final token usage for the response, emitted when the LLM finishes.
|
|
4
3
|
class Riffer::StreamEvents::TokenUsageDone < Riffer::StreamEvents::Base
|
|
5
|
-
# The token usage data for this response.
|
|
6
4
|
attr_reader token_usage: Riffer::Providers::TokenUsage
|
|
7
5
|
|
|
8
6
|
# --
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/tool_call_delta.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents an incremental tool call chunk (partial argument data) during
|
|
4
|
-
# streaming.
|
|
5
3
|
class Riffer::StreamEvents::ToolCallDelta < Riffer::StreamEvents::Base
|
|
6
|
-
# The tool call item identifier.
|
|
7
4
|
attr_reader item_id: String
|
|
8
5
|
|
|
9
|
-
#
|
|
6
|
+
# Providers may send the name only on the first delta.
|
|
10
7
|
attr_reader name: String?
|
|
11
8
|
|
|
12
|
-
# The incremental arguments JSON fragment.
|
|
13
9
|
attr_reader arguments_delta: String
|
|
14
10
|
|
|
15
11
|
# --
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/tool_call_done.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# Represents a completed tool call during streaming.
|
|
4
3
|
class Riffer::StreamEvents::ToolCallDone < Riffer::StreamEvents::Base
|
|
5
|
-
# The tool call item identifier.
|
|
6
4
|
attr_reader item_id: String
|
|
7
5
|
|
|
8
|
-
# The call identifier for response matching.
|
|
9
6
|
attr_reader call_id: String
|
|
10
7
|
|
|
11
|
-
# The tool name.
|
|
12
8
|
attr_reader name: String
|
|
13
9
|
|
|
14
|
-
# The complete arguments JSON string.
|
|
15
10
|
attr_reader arguments: String
|
|
16
11
|
|
|
17
12
|
# --
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/web_search_done.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# The result of a completed server-side web search during streaming.
|
|
4
3
|
class Riffer::StreamEvents::WebSearchDone < Riffer::StreamEvents::Base
|
|
5
|
-
# The search query used.
|
|
6
4
|
attr_reader query: String
|
|
7
5
|
|
|
8
|
-
# The search result sources with title and url.
|
|
9
6
|
attr_reader sources: Array[Hash[Symbol, String?]]
|
|
10
7
|
|
|
11
8
|
# --
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
# Generated from lib/riffer/stream_events/web_search_status.rb with RBS::Inline
|
|
2
2
|
|
|
3
|
-
# A web search status notification, emitted as a server-side web search
|
|
4
|
-
# progresses.
|
|
5
3
|
class Riffer::StreamEvents::WebSearchStatus < Riffer::StreamEvents::Base
|
|
6
|
-
#
|
|
4
|
+
# One of "in_progress", "searching", "open_page", or "completed".
|
|
7
5
|
attr_reader status: String
|
|
8
6
|
|
|
9
|
-
# The URL being fetched (present for "open_page" status).
|
|
10
7
|
attr_reader url: String?
|
|
11
8
|
|
|
12
|
-
# The search query (present when available during status changes).
|
|
13
9
|
attr_reader query: String?
|
|
14
10
|
|
|
15
11
|
# --
|