Module: Riffer

Extended by:
Riffer, Agent::Run, Agent::Serializer, Agent::Session::Repair, Evals::EvaluatorRunner, Helpers::Boolean, Helpers::CallOrValue, Helpers::ClassNameConverter, Helpers::Dependencies, Mcp, Mcp::AuthenticatedTool, Mcp::Registry, Mcp::ToolFactory, Providers::Repository, Tracing, Tracing::Capture, Tracing::NoOp
Included in:
Riffer
Defined in:
lib/riffer/version.rb,
lib/riffer.rb,
sig/manual/riffer.rbs,
sig/generated/riffer.rbs,
sig/manual/riffer/mcp.rbs,
sig/generated/riffer/mcp.rbs,
sig/manual/riffer/tracing.rbs,
sig/generated/riffer/evals.rbs,
sig/generated/riffer/tools.rbs,
sig/generated/riffer/skills.rbs,
sig/manual/riffer/agent/run.rbs,
sig/manual/riffer/providers.rbs,
sig/generated/riffer/helpers.rbs,
sig/generated/riffer/tracing.rbs,
sig/generated/riffer/version.rbs,
sig/generated/riffer/messages.rbs,
sig/generated/riffer/agent/run.rbs,
sig/generated/riffer/providers.rbs,
sig/manual/riffer/mcp/registry.rbs,
sig/generated/riffer/guardrails.rbs,
sig/manual/riffer/tracing/no_op.rbs,
sig/generated/riffer/mcp/registry.rbs,
sig/manual/riffer/helpers/boolean.rbs,
sig/manual/riffer/tracing/capture.rbs,
sig/generated/riffer/stream_events.rbs,
sig/generated/riffer/tracing/no_op.rbs,
sig/manual/riffer/agent/serializer.rbs,
sig/manual/riffer/mcp/tool_factory.rbs,
sig/generated/riffer/params/boolean.rbs,
sig/generated/riffer/tools/toolable.rbs,
sig/generated/riffer/helpers/boolean.rbs,
sig/generated/riffer/tracing/capture.rbs,
sig/generated/riffer/agent/serializer.rbs,
sig/generated/riffer/mcp/tool_factory.rbs,
sig/manual/riffer/agent/session/repair.rbs,
sig/manual/riffer/helpers/dependencies.rbs,
sig/manual/riffer/providers/repository.rbs,
sig/manual/riffer/helpers/call_or_value.rbs,
sig/manual/riffer/evals/evaluator_runner.rbs,
sig/manual/riffer/mcp/authenticated_tool.rbs,
sig/generated/riffer/agent/session/repair.rbs,
sig/generated/riffer/helpers/dependencies.rbs,
sig/generated/riffer/providers/repository.rbs,
sig/generated/riffer/helpers/call_or_value.rbs,
sig/generated/riffer/evals/evaluator_runner.rbs,
sig/generated/riffer/mcp/authenticated_tool.rbs,
sig/manual/riffer/helpers/class_name_converter.rbs,
sig/generated/riffer/helpers/class_name_converter.rbs

Overview

Helper module for converting class names.

Defined Under Namespace

Modules: Evals, Guardrails, Helpers, Mcp, Messages, Providers, Skills, StreamEvents, Tools, Tracing Classes: Agent, ArgumentError, Config, CredentialsDeniedError, Error, Guardrail, LoadError, Params, Runner, Span, TimeoutError, Tool, ToolExecutionError, ValidationError, VersionError

Constant Summary collapse

VERSION =

Signature:

  • String

Returns:

  • (String)
"0.39.0"
MUTEX =

Returns:

  • (Mutex)
SCHEMA_URL =

The Ruby API cannot attach a schema URL to a tracer, so the semconv pin lives here as the documented contract version.

Returns:

  • (String)
PHASES =

Returns:

  • (Array[Symbol])
SPAN =
DEFAULT_TIMEOUT =

Returns:

  • (Integer)
SCHEMA_VERSION =

The wire format version, bumped only on an incompatible change to the hash shape; from_h refuses any other version.

Returns:

  • (Integer)
DEFAULT_TOOL_RESOLVER =

The default tool_resolver: synthesizes a body-less tool shell from a descriptor. Its #call raises — route shells through a remote runtime.

Returns:

ORPHAN_PLACEHOLDER =

Placeholder response filled in for an orphaned tool_use on interrupt.

REPO =

Returns:

DEFAULT_SEPARATOR =

Returns:

  • (String)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.allArray[Module]

Returns all classes that have extended Toolable.

-- : () -> Array

Returns:

  • (Array[Module])


41
# File 'sig/generated/riffer/tools/toolable.rbs', line 41

def self.all: () -> Array[Module]

.extendedvoid

This method returns an undefined value.

Tracks all classes that extend Toolable.

-- : (Module) -> void

Parameters:

  • (Module)


35
# File 'sig/generated/riffer/tools/toolable.rbs', line 35

def self.extended: (Module) -> void

Instance Method Details

#accumulate_streamed_responseRiffer::Messages::Assistant

-- : (Riffer::Agent, Enumerator::Yielder, ?Hash[String, String]) -> Riffer::Messages::Assistant

Parameters:

Returns:



37
# File 'sig/generated/riffer/agent/run.rbs', line 37

def accumulate_streamed_response: (Riffer::Agent, Enumerator::Yielder, ?Hash[String, String]) -> Riffer::Messages::Assistant

#append_user_messagevoid

This method returns an undefined value.

Raises when files are supplied without a prompt — the provider needs text to anchor the attachments.

: (Riffer::Agent, String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?) -> void

Parameters:



103
# File 'sig/generated/riffer/agent/run.rbs', line 103

def append_user_message: (Riffer::Agent, String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?) -> void

#assistant_partsArray[Hash[Symbol, untyped]]

-- : (String?, Array) -> Array[Hash[Symbol, untyped]]

Parameters:

Returns:

  • (Array[Hash[Symbol, untyped]])


27
# File 'sig/generated/riffer/tracing/capture.rbs', line 27

def assistant_parts: (String?, Array[Riffer::Messages::Assistant::ToolCall]) -> Array[Hash[Symbol, untyped]]

#backendObject

-- : () -> untyped

Returns:

  • (Object)


47
# File 'sig/generated/riffer/tracing.rbs', line 47

def backend: () -> untyped

#buildArray[singleton(Riffer::Mcp::Tool)]

Builds one Riffer::Mcp::Tool subclass per tool definition, prefixing names with the manifest name to avoid cross-server collisions (e.g. jira__search); the server-side name stays on .mcp_server_tool_name.

: (String, Riffer::Mcp::Client, Array[Hash[Symbol, untyped]]) -> Array

Parameters:

Returns:



12
# File 'sig/generated/riffer/mcp/tool_factory.rbs', line 12

def build: (String, Riffer::Mcp::Client, Array[Hash[Symbol, untyped]]) -> Array[singleton(Riffer::Mcp::Tool)]

#build_key_indexHash[singleton(Riffer::Providers::Base), Symbol]

-- : () -> Hash[singleton(Riffer::Providers::Base), Symbol]

Returns:



46
# File 'sig/generated/riffer/providers/repository.rbs', line 46

def build_key_index: () -> Hash[singleton(Riffer::Providers::Base), Symbol]

#build_responseRiffer::Agent::Response

-- : (Riffer::Agent, String, ?tripwire: Riffer::Guardrails::Tripwire?, ?modifications: Array, ?interrupted: bool, ?interrupt_reason: (String | Symbol)?, ?structured_output: Hash[Symbol, untyped]?, ?healed_tool_call_ids: Array, ?token_usage: Riffer::Providers::TokenUsage?, ?steps: Integer) -> Riffer::Agent::Response

Parameters:

Returns:



97
# File 'sig/generated/riffer/agent/run.rbs', line 97

def build_response: (Riffer::Agent, String, ?tripwire: Riffer::Guardrails::Tripwire?, ?modifications: Array[Riffer::Guardrails::Modification], ?interrupted: bool, ?interrupt_reason: (String | Symbol)?, ?structured_output: Hash[Symbol, untyped]?, ?healed_tool_call_ids: Array[String], ?token_usage: Riffer::Providers::TokenUsage?, ?steps: Integer) -> Riffer::Agent::Response

#build_tool_classsingleton(Riffer::Mcp::Tool)

: (String, Riffer::Mcp::Client, Hash[Symbol, untyped]) -> singleton(Riffer::Mcp::Tool)

Parameters:

Returns:



20
# File 'sig/generated/riffer/mcp/tool_factory.rbs', line 20

def build_tool_class: (String, Riffer::Mcp::Client, Hash[Symbol, untyped]) -> singleton(Riffer::Mcp::Tool)

#build_tool_shellObject

-- : (Hash[Symbol, untyped]) -> untyped

Parameters:

  • (Hash[Symbol, untyped])

Returns:

  • (Object)


78
# File 'sig/generated/riffer/agent/serializer.rbs', line 78

def build_tool_shell: (Hash[Symbol, untyped]) -> untyped

#call_llmRiffer::Messages::Assistant

-- : (Riffer::Agent, ?Hash[String, String]) -> Riffer::Messages::Assistant

Parameters:

Returns:



53
# File 'sig/generated/riffer/agent/run.rbs', line 53

def call_llm: (Riffer::Agent, ?Hash[String, String]) -> Riffer::Messages::Assistant

#call_llm_streamEnumerator[Riffer::StreamEvents::Base, void]

-- : (Riffer::Agent, ?Hash[String, String]) -> Enumerator[Riffer::StreamEvents::Base, void]

Parameters:

Returns:



57
# File 'sig/generated/riffer/agent/run.rbs', line 57

def call_llm_stream: (Riffer::Agent, ?Hash[String, String]) -> Enumerator[Riffer::StreamEvents::Base, void]

#coerceBoolean

Coerces value to a boolean so an env-var "false" (truthy in Ruby) doesn't silently read as true. Raises Riffer::ArgumentError on an unrecognized value, naming attribute in the message.

: (untyped, attribute: String) -> bool

Parameters:

  • (Object)
  • attribute: (String)

Returns:

  • (Boolean)


10
# File 'sig/generated/riffer/helpers/boolean.rbs', line 10

def coerce: (untyped, attribute: String) -> bool

#configRiffer::Config

Returns the Riffer configuration.

-- : () -> Riffer::Config

Returns:



39
40
41
# File 'lib/riffer.rb', line 39

def config
  @config ||= Config.new
end

#configure(&block) ⇒ void

This method returns an undefined value.

Yields the configuration for block-based setup.

Riffer.configure do |config|
config.openai.api_key = ENV['OPENAI_API_KEY']
end

-- : () ?{ (Riffer::Config) -> void } -> void



51
52
53
# File 'lib/riffer.rb', line 51

def configure(&block)
  yield config if block_given?
end

#convertString

Converts a class name to snake_case identifier format.

-- : (String, ?separator: String) -> String

Parameters:

  • (String)
  • separator: (String)

Returns:

  • (String)


11
# File 'sig/generated/riffer/helpers/class_name_converter.rbs', line 11

def convert: (String, ?separator: String) -> String

#convert_messageHash[Symbol, untyped]?

-- : (Riffer::Messages::Base) -> Hash[Symbol, untyped]?

Parameters:

Returns:

  • (Hash[Symbol, untyped], nil)


23
# File 'sig/generated/riffer/tracing/capture.rbs', line 23

def convert_message: (Riffer::Messages::Base) -> Hash[Symbol, untyped]?

#current_contextnil

Returns nil; there is no trace context without OTEL.

: () -> nil

Returns:

  • (nil)


24
# File 'sig/generated/riffer/tracing.rbs', line 24

def current_context: () -> untyped

#decode_max_stepsNumeric?

Reverses encode_max_steps; a missing key falls back to the default so a partial hash can't become an unbounded loop.

: (Hash[Symbol, untyped]) -> Numeric?

Parameters:

  • (Hash[Symbol, untyped])

Returns:

  • (Numeric, nil)


70
# File 'sig/generated/riffer/agent/serializer.rbs', line 70

def decode_max_steps: (Hash[Symbol, untyped]) -> Numeric?

#decode_structured_outputRiffer::Params?

-- : (Hash[Symbol, untyped]?) -> Riffer::Params?

Parameters:

  • (Hash[Symbol, untyped], nil)

Returns:



58
# File 'sig/generated/riffer/agent/serializer.rbs', line 58

def decode_structured_output: (Hash[Symbol, untyped]?) -> Riffer::Params?

#decode_v1Riffer::Agent

-- : (Hash[Symbol, untyped], context: Hash[Symbol, untyped]?, session: Riffer::Agent::Session?, tool_resolver: ^(Hash[Symbol, untyped]) -> singleton(Riffer::Tool), tool_runtime: (singleton(Riffer::Tools::Runtime) | Riffer::Tools::Runtime | Proc)?) -> Riffer::Agent

Parameters:

Returns:



54
# File 'sig/generated/riffer/agent/serializer.rbs', line 54

def decode_v1: (Hash[Symbol, untyped], context: Hash[Symbol, untyped]?, session: Riffer::Agent::Session?, tool_resolver: ^(Hash[Symbol, untyped]) -> singleton(Riffer::Tool), tool_runtime: (singleton(Riffer::Tools::Runtime) | Riffer::Tools::Runtime | Proc)?) -> Riffer::Agent

#depends_ontrue

Requires a gem by name; raises LoadError if it isn't installed.

: (String) -> true

Parameters:

  • (String)

Returns:

  • (true)


13
# File 'sig/generated/riffer/helpers/dependencies.rbs', line 13

def depends_on: (String) -> true

#descriptionString?

Gets or sets the tool description.

-- : (?String?) -> String?

Parameters:

  • (String, nil)

Returns:

  • (String, nil)


47
# File 'sig/generated/riffer/tools/toolable.rbs', line 47

def description: (?String?) -> String?

#effective_toolsArray[singleton(Riffer::Tool)]

-- : (Riffer::Agent) -> Array

Parameters:

Returns:



85
# File 'sig/generated/riffer/agent/run.rbs', line 85

def effective_tools: (Riffer::Agent) -> Array[singleton(Riffer::Tool)]

#empty_schemaObject

Returns:

  • (Object)


100
# File 'sig/generated/riffer/tools/toolable.rbs', line 100

def empty_schema: () -> untyped

#encode_max_stepsNumeric

Encodes unlimited steps (+nil+ in the DSL) as -1 on the wire, where a JSON null is awkward across transports (e.g. proto3).

: (Numeric?) -> Numeric

Parameters:

  • (Numeric, nil)

Returns:

  • (Numeric)


64
# File 'sig/generated/riffer/agent/serializer.rbs', line 64

def encode_max_steps: (Numeric?) -> Numeric

#execute_pending_tool_callsvoid

This method returns an undefined value.

-- : (Riffer::Agent, ?Hash[String, String]) -> void

Parameters:



69
# File 'sig/generated/riffer/agent/run.rbs', line 69

def execute_pending_tool_calls: (Riffer::Agent, ?Hash[String, String]) -> void

#execute_runRiffer::Agent::Response

-- : (Riffer::Agent, Enumerator::Yielder?, ?Hash[String, String]) -> Riffer::Agent::Response

Parameters:

  • (Riffer::Agent)
  • (Enumerator::Yielder, nil)
  • (Hash[String, String])

Returns:



33
# File 'sig/generated/riffer/agent/run.rbs', line 33

def execute_run: (Riffer::Agent, Enumerator::Yielder?, ?Hash[String, String]) -> Riffer::Agent::Response

#execute_tool_callsvoid

This method returns an undefined value.

-- : (Riffer::Agent, Riffer::Messages::Assistant, ?tool_calls: Array, ?tags: Hash[String, String]) -> void

Parameters:



61
# File 'sig/generated/riffer/agent/run.rbs', line 61

def execute_tool_calls: (Riffer::Agent, Riffer::Messages::Assistant, ?tool_calls: Array[Riffer::Messages::Assistant::ToolCall], ?tags: Hash[String, String]) -> void

#file_partHash[Symbol, untyped]

-- : (Riffer::Messages::FilePart) -> Hash[Symbol, untyped]

Parameters:

Returns:

  • (Hash[Symbol, untyped])


39
# File 'sig/generated/riffer/tracing/capture.rbs', line 39

def file_part: (Riffer::Messages::FilePart) -> Hash[Symbol, untyped]

#fill_orphans[ Array[Riffer::Messages::Base], Array[String] ]

Fills each orphaned tool_use in messages with an ORPHAN_PLACEHOLDER result inserted after its parent. Returns [new_messages, filled_call_ids].

: (Array) -> [Array[Riffer::Messages::Base], Array[String]]

Parameters:

Returns:



14
# File 'sig/generated/riffer/agent/session/repair.rbs', line 14

def fill_orphans: (Array[Riffer::Messages::Base]) -> [ Array[Riffer::Messages::Base], Array[String] ]

#final_responseRiffer::Agent::Response

-- : (Riffer::Agent, Array, **untyped) -> Riffer::Agent::Response

Parameters:

Returns:



49
# File 'sig/generated/riffer/agent/run.rbs', line 49

def final_response: (Riffer::Agent, Array[Riffer::Guardrails::Modification], **untyped) -> Riffer::Agent::Response

#findsingleton(Riffer::Providers::Base)?

Finds a provider class by identifier, preferring a custom registration over a built-in of the same name.

-- : ((String | Symbol)) -> singleton(Riffer::Providers::Base)?

Parameters:

  • (String, Symbol)

Returns:



35
# File 'sig/generated/riffer/providers/repository.rbs', line 35

def find: (String | Symbol) -> singleton(Riffer::Providers::Base)?

#find_by_tagsArray[Riffer::Mcp::Registration]

Returns all registrations whose manifest tags intersect the given tags (normalized to symbols).

: (Array) -> Array

Parameters:

  • (Array[Symbol])

Returns:



31
# File 'sig/generated/riffer/mcp/registry.rbs', line 31

def find_by_tags: (Array[Symbol]) -> Array[Riffer::Mcp::Registration]

#from_hRiffer::Agent

Reconstructs a runnable agent from a wire hash. context is threaded into tool dispatch (not used to re-resolve the already-resolved config); session seeds conversation history (the hash carries the agent definition, not its history). Raises Riffer::Agent::Serializer::VersionError on an unsupported schema_version.

-- : (Hash[Symbol, untyped], ?context: Hash[Symbol, untyped]?, ?session: Riffer::Agent::Session?, ?tool_resolver: ^(Hash[Symbol, untyped]) -> singleton(Riffer::Tool), ?tool_runtime: (singleton(Riffer::Tools::Runtime) | Riffer::Tools::Runtime | Proc)?) -> Riffer::Agent

Parameters:

Returns:



37
# File 'sig/generated/riffer/agent/serializer.rbs', line 37

def from_h: (Hash[Symbol, untyped], ?context: Hash[Symbol, untyped]?, ?session: Riffer::Agent::Session?, ?tool_resolver: ^(Hash[Symbol, untyped]) -> singleton(Riffer::Tool), ?tool_runtime: (singleton(Riffer::Tools::Runtime) | Riffer::Tools::Runtime | Proc)?) -> Riffer::Agent

#from_jsonRiffer::Agent

Reconstructs a runnable agent from a JSON string produced by to_json. See from_h for the arguments.

: (String, ?context: Hash[Symbol, untyped]?, ?session: Riffer::Agent::Session?, ?tool_resolver: ^(Hash[Symbol, untyped]) -> singleton(Riffer::Tool), ?tool_runtime: (singleton(Riffer::Tools::Runtime) | Riffer::Tools::Runtime | Proc)?) -> Riffer::Agent

Parameters:

Returns:



48
# File 'sig/generated/riffer/agent/serializer.rbs', line 48

def from_json: (String, ?context: Hash[Symbol, untyped]?, ?session: Riffer::Agent::Session?, ?tool_resolver: ^(Hash[Symbol, untyped]) -> singleton(Riffer::Tool), ?tool_runtime: (singleton(Riffer::Tools::Runtime) | Riffer::Tools::Runtime | Proc)?) -> Riffer::Agent

#generateRiffer::Agent::Response

Runs the generate loop for the given agent. See Riffer::Agent#generate for prompt/files semantics.

-- : (agent: Riffer::Agent, ?prompt: String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?, ?tags: Hash[(String | Symbol), untyped]) -> Riffer::Agent::Response

Parameters:

Returns:



11
# File 'sig/generated/riffer/agent/run.rbs', line 11

def generate: (agent: Riffer::Agent, ?prompt: String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?, ?tags: Hash[String | Symbol, untyped]) -> Riffer::Agent::Response

#identifierString

Gets or sets the tool identifier/name.

-- : (?String?) -> String

Parameters:

  • (String, nil)

Returns:

  • (String)


53
# File 'sig/generated/riffer/tools/toolable.rbs', line 53

def identifier: (?String?) -> String

#in_spanvoid

This method returns an undefined value.

Yields the no-op span, ignoring all span options.

: [R] (String, **untyped) { (Riffer::Tracing::NoOp::Span) -> R } -> R



18
# File 'sig/generated/riffer/tracing.rbs', line 18

def in_span: [R] (String, ?attributes: Hash[String, untyped]?, ?kind: Symbol) { (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span) -> R } -> R

#inject_discovered_toolsvoid

This method returns an undefined value.

-- : (Riffer::Agent, Array[[Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response]]) -> void



65
# File 'sig/generated/riffer/agent/run.rbs', line 65

def inject_discovered_tools: (Riffer::Agent, Array[[ Riffer::Messages::Assistant::ToolCall, Riffer::Tools::Response ]]) -> void

#input_messagesString

-- : (Array) -> String

Parameters:

Returns:

  • (String)


9
# File 'sig/generated/riffer/tracing/capture.rbs', line 9

def input_messages: (Array[Riffer::Messages::Base]) -> String

#key_forSymbol?

Returns the registry identifier for a provider class, or nil when unregistered.

: (singleton(Riffer::Providers::Base)) -> Symbol?

Parameters:

Returns:

  • (Symbol, nil)


40
# File 'sig/generated/riffer/providers/repository.rbs', line 40

def key_for: (singleton(Riffer::Providers::Base)) -> Symbol?

#kindSymbol

Returns the kind of toolable entity; defaults to :tool.

: (?Symbol?) -> Symbol

Parameters:

  • (Symbol, nil)

Returns:

  • (Symbol)


82
# File 'sig/generated/riffer/tools/toolable.rbs', line 82

def kind: (?Symbol?) -> Symbol

#merged_model_optionsHash[Symbol, untyped]

tags rides in the options hash as a curated key the providers extract for native request-metadata mapping (alongside :structured_output); it never reaches an SDK call verbatim. Span tagging is threaded separately to each builder.

: (Riffer::Agent, ?Hash[String, String]) -> Hash[Symbol, untyped]

Parameters:

Returns:

  • (Hash[Symbol, untyped])


93
# File 'sig/generated/riffer/agent/run.rbs', line 93

def merged_model_options: (Riffer::Agent, ?Hash[String, String]) -> Hash[Symbol, untyped]

#nameString

Alias for identifier — used by providers.

-- : (?String?) -> String

Parameters:

  • (String, nil)

Returns:

  • (String)


59
# File 'sig/generated/riffer/tools/toolable.rbs', line 59

def name: (?String?) -> String

#normalize_tagsHash[String, String]

-- : (Hash[(String | Symbol), untyped]?) -> Hash[String, String]

Parameters:

  • (Hash[String | Symbol, untyped], nil)

Returns:

  • (Hash[String, String])


119
# File 'sig/generated/riffer/agent/run.rbs', line 119

def normalize_tags: (Hash[String | Symbol, untyped]?) -> Hash[String, String]

#output_messagesString

-- : (content: String?, tool_calls: Array, finish_reason: Symbol?) -> String

Parameters:

Returns:

  • (String)


17
# File 'sig/generated/riffer/tracing/capture.rbs', line 17

def output_messages: (content: String?, tool_calls: Array[Riffer::Messages::Assistant::ToolCall], finish_reason: Symbol?) -> String

#parameters_schemaHash[Symbol, untyped]

Returns the JSON Schema for the tool's parameters.

-- : (?strict: bool) -> Hash[Symbol, untyped]

Parameters:

  • strict: (Boolean)

Returns:

  • (Hash[Symbol, untyped])


77
# File 'sig/generated/riffer/tools/toolable.rbs', line 77

def parameters_schema: (?strict: bool) -> Hash[Symbol, untyped]

#paramsvoid

This method returns an undefined value.

Defines parameters using the Params DSL.

-- : () ?{ (Riffer::Params) [self: Riffer::Params] -> void } -> Riffer::Params?



71
# File 'sig/generated/riffer/tools/toolable.rbs', line 71

def params: () ?{ (Riffer::Params) [self: Riffer::Params] -> void } -> Riffer::Params?

#parse_argumentsObject

Semconv's tool_call part carries arguments as a JSON object; riffer holds them as a string — parse so the captured payload isn't double-encoded.

: (untyped) -> untyped

Parameters:

  • (Object)

Returns:

  • (Object)


45
# File 'sig/generated/riffer/tracing/capture.rbs', line 45

def parse_arguments: (untyped) -> untyped

#prune_orphansArray[Riffer::Messages::Base]

Prunes a seeded message array to the invariant — dropping orphaned tool exchanges and parentless Tool messages, but preserving the pending tool_calls on the resume boundary (the last assistant) for execute_pending_tool_calls. Returns a new array.

: (Array) -> Array

Parameters:

Returns:



22
# File 'sig/generated/riffer/agent/session/repair.rbs', line 22

def prune_orphans: (Array[Riffer::Messages::Base]) -> Array[Riffer::Messages::Base]

#record_modifications!void

This method returns an undefined value.

-- : (Enumerator::Yielder?, Array, Array) -> void

Parameters:



41
# File 'sig/generated/riffer/agent/run.rbs', line 41

def record_modifications!: (Enumerator::Yielder?, Array[Riffer::Guardrails::Modification], Array[Riffer::Guardrails::Modification]) -> void

#record_run_outcomevoid

This method returns an undefined value.

-- : (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Agent::Response) -> void



127
# File 'sig/generated/riffer/agent/run.rbs', line 127

def record_run_outcome: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Agent::Response) -> void

#record_usagevoid

This method returns an undefined value.

Stamps token usage onto the span — the gen_ai.usage.* counts and, when the model was priced, riffer.cost.

: ((Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span), Riffer::Providers::TokenUsage?) -> void



36
# File 'sig/generated/riffer/tracing.rbs', line 36

def record_usage: (Riffer::Tracing::Otel::Span | Riffer::Tracing::NoOp::Span, Riffer::Providers::TokenUsage?) -> void

#register { ... } ⇒ void

This method returns an undefined value.

Registers a custom provider under identifier, resolved lazily by the block. Takes precedence over a built-in sharing the identifier.

Riffer::Providers::Repository.register(:jane) { MyApp::JaneProvider }

Raises Riffer::ArgumentError when called without a block.

-- : ((String | Symbol)) { () -> singleton(Riffer::Providers::Base) } -> void

Parameters:

  • (String, Symbol)

Yields:

Yield Returns:



32
# File 'sig/generated/riffer/mcp.rbs', line 32

def register: (Hash[Symbol, untyped] | Riffer::Mcp::Manifest) -> Riffer::Mcp::Registration

#registrationsHash[String, Riffer::Mcp::Registration]

Returns a frozen snapshot of all current registrations.

-- : () -> Hash[String, Riffer::Mcp::Registration]

Returns:



43
# File 'sig/generated/riffer/mcp.rbs', line 43

def registrations: () -> Hash[String, Riffer::Mcp::Registration]

#reset!void

This method returns an undefined value.

Discards the resolved backend so the next span re-resolves it.

: () -> void



41
# File 'sig/generated/riffer/tracing.rbs', line 41

def reset!: () -> void

#resolveObject

Calls thing when it's a Proc (passing context if its arity is non-zero), returns it unchanged otherwise, or default when nil.

: (untyped, ?context: untyped, ?default: untyped) -> untyped

Parameters:

  • (Object)
  • context: (Object)
  • default: (Object)

Returns:

  • (Object)


9
# File 'sig/generated/riffer/helpers/call_or_value.rbs', line 9

def resolve: (untyped, ?context: untyped, ?default: untyped) -> untyped

#resolve_backendObject

-- : () -> untyped

Returns:

  • (Object)


51
# File 'sig/generated/riffer/tracing.rbs', line 51

def resolve_backend: () -> untyped

#runRiffer::Evals::RunResult

Runs evaluators against an agent for the given scenarios. Raises Riffer::ArgumentError on an invalid agent or evaluator.

: (agent: singleton(Riffer::Agent), scenarios: Array[Hash[Symbol, untyped]], evaluators: Array, ?context: Hash[Symbol, untyped]?) -> Riffer::Evals::RunResult

Parameters:

Returns:



20
# File 'sig/generated/riffer/evals/evaluator_runner.rbs', line 20

def run: (agent: singleton(Riffer::Agent), scenarios: Array[Hash[Symbol, untyped]], evaluators: Array[singleton(Riffer::Evals::Evaluator)], ?context: Hash[Symbol, untyped]?) -> Riffer::Evals::RunResult

#run_after_guardrails {|arg0| ... } ⇒ Object

-- : (Riffer::Agent, Riffer::Messages::Assistant, Enumerator::Yielder?, Array, ?Hash[String, String]) { (Riffer::Guardrails::Tripwire) -> void } -> untyped

Parameters:

Yields:

Yield Parameters:

Yield Returns:

  • (void)

Returns:

  • (Object)


77
# File 'sig/generated/riffer/agent/run.rbs', line 77

def run_after_guardrails: (Riffer::Agent, Riffer::Messages::Assistant, Enumerator::Yielder?, Array[Riffer::Guardrails::Modification], ?Hash[String, String]) { (Riffer::Guardrails::Tripwire) -> void } -> untyped

#run_before_guardrails {|arg0| ... } ⇒ void

This method returns an undefined value.

-- : (Riffer::Agent, Enumerator::Yielder?, Array, ?Hash[String, String]) { (Riffer::Guardrails::Tripwire) -> void } -> void

Parameters:

Yields:

Yield Parameters:

Yield Returns:

  • (void)


73
# File 'sig/generated/riffer/agent/run.rbs', line 73

def run_before_guardrails: (Riffer::Agent, Enumerator::Yielder?, Array[Riffer::Guardrails::Modification], ?Hash[String, String]) { (Riffer::Guardrails::Tripwire) -> void } -> void

#run_loopRiffer::Agent::Response

Both generate and stream funnel here, so this is the single place raw tags are normalized. The clean String => String map is then threaded to every span builder in the run as riffer.tag.* and to each provider call (via merged_model_options) for native request-metadata mapping.

: (Riffer::Agent, ?tags: Hash[(String | Symbol), untyped]?, ?stream_yielder: Enumerator::Yielder?) -> Riffer::Agent::Response

Parameters:

  • (Riffer::Agent)
  • tags: (Hash[String | Symbol, untyped], nil)
  • stream_yielder: (Enumerator::Yielder, nil)

Returns:



29
# File 'sig/generated/riffer/agent/run.rbs', line 29

def run_loop: (Riffer::Agent, ?tags: Hash[String | Symbol, untyped]?, ?stream_yielder: Enumerator::Yielder?) -> Riffer::Agent::Response

#run_scenarioRiffer::Evals::ScenarioResult

-- : (agent: singleton(Riffer::Agent), scenario: Hash[Symbol, untyped], evaluators: Array, ?context: Hash[Symbol, untyped]?) -> Riffer::Evals::ScenarioResult

Parameters:

Returns:



34
# File 'sig/generated/riffer/evals/evaluator_runner.rbs', line 34

def run_scenario: (agent: singleton(Riffer::Agent), scenario: Hash[Symbol, untyped], evaluators: Array[singleton(Riffer::Evals::Evaluator)], ?context: Hash[Symbol, untyped]?) -> Riffer::Evals::ScenarioResult

#run_span_attributesHash[String, untyped]

-- : (Riffer::Agent, ?Hash[String, String]) -> Hash[String, untyped]

Parameters:

Returns:

  • (Hash[String, untyped])


115
# File 'sig/generated/riffer/agent/run.rbs', line 115

def run_span_attributes: (Riffer::Agent, ?Hash[String, String]) -> Hash[String, untyped]

#sanitize_name_componentString

: (String) -> String

Parameters:

  • (String)

Returns:

  • (String)


17
# File 'sig/generated/riffer/mcp/tool_factory.rbs', line 17

def sanitize_name_component: (String) -> String

#streamEnumerator[Riffer::StreamEvents::Base, void]

Runs the streaming loop for the given agent. See Riffer::Agent#stream for prompt/files semantics.

-- : (agent: Riffer::Agent, ?prompt: String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?, ?tags: Hash[(String | Symbol), untyped]) -> Enumerator[Riffer::StreamEvents::Base, void]

Parameters:

Returns:



18
# File 'sig/generated/riffer/agent/run.rbs', line 18

def stream: (agent: Riffer::Agent, ?prompt: String?, ?files: Array[Hash[Symbol, untyped] | Riffer::Messages::FilePart]?, ?tags: Hash[String | Symbol, untyped]) -> Enumerator[Riffer::StreamEvents::Base, void]

#sum_usageRiffer::Providers::TokenUsage?

-- : (Riffer::Providers::TokenUsage?, Riffer::Providers::TokenUsage?) -> Riffer::Providers::TokenUsage?



111
# File 'sig/generated/riffer/agent/run.rbs', line 111

def sum_usage: (Riffer::Providers::TokenUsage?, Riffer::Providers::TokenUsage?) -> Riffer::Providers::TokenUsage?

#system_instructionsString?

-- : (Array) -> String?

Parameters:

Returns:

  • (String, nil)


13
# File 'sig/generated/riffer/tracing/capture.rbs', line 13

def system_instructions: (Array[Riffer::Messages::Base]) -> String?

#tag_attributesHash[String, String]

-- : (Hash[String, String]) -> Hash[String, String]

Parameters:

  • (Hash[String, String])

Returns:

  • (Hash[String, String])


123
# File 'sig/generated/riffer/agent/run.rbs', line 123

def tag_attributes: (Hash[String, String]) -> Hash[String, String]

#text_partHash[Symbol, untyped]

-- : (String?) -> Hash[Symbol, untyped]

Parameters:

  • (String, nil)

Returns:

  • (Hash[Symbol, untyped])


31
# File 'sig/generated/riffer/tracing/capture.rbs', line 31

def text_part: (String?) -> Hash[Symbol, untyped]

#timeoutInteger, Float

Gets or sets the tool timeout in seconds.

-- : (?(Integer | Float)?) -> (Integer | Float)

Parameters:

  • (?(Integer | Float), nil)

Returns:

  • (Integer, Float)


65
# File 'sig/generated/riffer/tools/toolable.rbs', line 65

def timeout: (?(Integer | Float)?) -> (Integer | Float)

#to_hHash[Symbol, untyped]

Snapshots a resolved agent into a self-contained wire hash. Proc-based settings are already evaluated against the agent's context, so the hash carries plain data, never Procs.

: (agent: Riffer::Agent) -> Hash[Symbol, untyped]

Parameters:

Returns:

  • (Hash[Symbol, untyped])


27
# File 'sig/generated/riffer/agent/serializer.rbs', line 27

def to_h: (agent: Riffer::Agent) -> Hash[Symbol, untyped]

#to_jsonString

Snapshots a resolved agent to a JSON string.

: (agent: Riffer::Agent) -> String

Parameters:

Returns:

  • (String)


42
# File 'sig/generated/riffer/agent/serializer.rbs', line 42

def to_json: (agent: Riffer::Agent) -> String

#to_tool_schemaHash[Symbol, untyped]

Returns a provider-agnostic tool schema hash.

-- : (?strict: bool) -> Hash[Symbol, untyped]

Parameters:

  • strict: (Boolean)

Returns:

  • (Hash[Symbol, untyped])


88
# File 'sig/generated/riffer/tools/toolable.rbs', line 88

def to_tool_schema: (?strict: bool) -> Hash[Symbol, untyped]

#tool_call_partHash[Symbol, untyped]

-- : (Riffer::Messages::Assistant::ToolCall) -> Hash[Symbol, untyped]

Parameters:

Returns:

  • (Hash[Symbol, untyped])


35
# File 'sig/generated/riffer/tracing/capture.rbs', line 35

def tool_call_part: (Riffer::Messages::Assistant::ToolCall) -> Hash[Symbol, untyped]

#tool_descriptorHash[Symbol, untyped]

-- : (singleton(Riffer::Tool)) -> Hash[Symbol, untyped]

Parameters:

Returns:

  • (Hash[Symbol, untyped])


74
# File 'sig/generated/riffer/agent/serializer.rbs', line 74

def tool_descriptor: (singleton(Riffer::Tool)) -> Hash[Symbol, untyped]

#track_token_usagevoid

This method returns an undefined value.

-- : (Riffer::Agent, Riffer::Providers::TokenUsage?) -> void



107
# File 'sig/generated/riffer/agent/run.rbs', line 107

def track_token_usage: (Riffer::Agent, Riffer::Providers::TokenUsage?) -> void

#tripwire_responseRiffer::Agent::Response

-- : (Riffer::Agent, Enumerator::Yielder?, Riffer::Guardrails::Tripwire, Array, ?token_usage: Riffer::Providers::TokenUsage?, ?steps: Integer) -> Riffer::Agent::Response

Parameters:

Returns:



45
# File 'sig/generated/riffer/agent/run.rbs', line 45

def tripwire_response: (Riffer::Agent, Enumerator::Yielder?, Riffer::Guardrails::Tripwire, Array[Riffer::Guardrails::Modification], ?token_usage: Riffer::Providers::TokenUsage?, ?steps: Integer) -> Riffer::Agent::Response

#unregistervoid

This method returns an undefined value.

Removes a custom registration by identifier, leaving any built-in of the same name intact.

: ((String | Symbol)) -> void

Parameters:

  • (String, Symbol)


37
# File 'sig/generated/riffer/mcp.rbs', line 37

def unregister: (String) -> void

#validate_agent!void

This method returns an undefined value.

-- : (singleton(Riffer::Agent)) -> void

Parameters:



26
# File 'sig/generated/riffer/evals/evaluator_runner.rbs', line 26

def validate_agent!: (singleton(Riffer::Agent)) -> void

#validate_as_tool!true

Validates that the minimum required metadata is present for LLM tool use.

Raises Riffer::ArgumentError if validation fails.

-- : () -> true

Returns:

  • (true)


96
# File 'sig/generated/riffer/tools/toolable.rbs', line 96

def validate_as_tool!: () -> true

#validate_evaluators!void

This method returns an undefined value.

-- : (Array) -> void

Parameters:



30
# File 'sig/generated/riffer/evals/evaluator_runner.rbs', line 30

def validate_evaluators!: (Array[singleton(Riffer::Evals::Evaluator)]) -> void

#validate_structured_outputHash[Symbol, untyped]?

-- : (Riffer::Agent, Riffer::Messages::Assistant?) -> Hash[Symbol, untyped]?

Parameters:

Returns:

  • (Hash[Symbol, untyped], nil)


81
# File 'sig/generated/riffer/agent/run.rbs', line 81

def validate_structured_output: (Riffer::Agent, Riffer::Messages::Assistant?) -> Hash[Symbol, untyped]?

#versionString

Returns the gem version.

: () -> String

Returns:

  • (String)


58
59
60
# File 'lib/riffer.rb', line 58

def version
  VERSION
end

#with_contextvoid

This method returns an undefined value.

Yields immediately; there is no context to attach.

: [R] (untyped) { () -> R } -> R



30
# File 'sig/generated/riffer/tracing.rbs', line 30

def with_context: [R] (untyped) { () -> R } -> R

#wrap_allArray[singleton(Riffer::Mcp::Tool)]

Returns one wrapper class per inner tool, sharing manifest and matched_tags.

-- : (Array, Riffer::Mcp::Manifest, Array) -> Array

Parameters:

Returns:



11
# File 'sig/generated/riffer/mcp/authenticated_tool.rbs', line 11

def wrap_all: (Array[singleton(Riffer::Mcp::Tool)], Riffer::Mcp::Manifest, Array[Symbol]) -> Array[singleton(Riffer::Mcp::Tool)]

#wrap_onesingleton(Riffer::Mcp::Tool)

-- : (singleton(Riffer::Mcp::Tool), Riffer::Mcp::Manifest, Array) -> singleton(Riffer::Mcp::Tool)

Parameters:

Returns:



15
# File 'sig/generated/riffer/mcp/authenticated_tool.rbs', line 15

def wrap_one: (singleton(Riffer::Mcp::Tool), Riffer::Mcp::Manifest, Array[Symbol]) -> singleton(Riffer::Mcp::Tool)