Module: Myrr
- Defined in:
- lib/myrr.rb,
lib/myrr/pay.rb,
lib/myrr/card.rb,
lib/myrr/bridge.rb,
lib/myrr/budget.rb,
lib/myrr/client.rb,
lib/myrr/wallet.rb,
lib/myrr/railtie.rb,
lib/myrr/version.rb,
lib/myrr/tokenizer.rb,
lib/myrr/pay/client.rb,
lib/myrr/transaction.rb,
lib/myrr/configuration.rb,
lib/myrr/port/metadata.rb,
lib/myrr/pay/middleware.rb,
lib/myrr/port/middleware.rb,
lib/myrr/rack/middleware.rb,
lib/generators/myrr/install/install_generator.rb
Overview
Myrr — Agent-friendly content for your Rails app.
In its default (Port) mode, myrr-rb counts tokens on every text/markdown
response and adds an X-Token-Count header. No Go server, no database,
no configuration required.
Defined Under Namespace
Modules: Bridge, Generators, Pay, Port, Rack, Tokenizer Classes: Budget, Card, Client, Configuration, Error, Railtie, Transaction, Wallet
Constant Summary collapse
- VERSION =
"0.3.3"
Class Attribute Summary collapse
-
.config ⇒ Myrr::Configuration
readonly
The current configuration object.
Class Method Summary collapse
-
.client ⇒ Myrr::Client
Create a new protocol server client.
-
.configure {|config| ... } ⇒ Object
Configure Myrr.
-
.reset_config! ⇒ Object
Reset configuration to defaults.
-
.verify_agent(did_key) ⇒ Hash?
Verify an agent identity.
Class Attribute Details
.config ⇒ Myrr::Configuration (readonly)
The current configuration object.
21 22 23 |
# File 'lib/myrr.rb', line 21 def config @config end |
Class Method Details
.client ⇒ Myrr::Client
Create a new protocol server client.
Requires protocol_server_url to be configured.
(Identity-layer feature — opt-in, requires explicit require.)
43 44 45 46 47 48 49 50 |
# File 'lib/myrr.rb', line 43 def client Client.new( server_url: config.protocol_server_url, api_key: config.site_api_key, open_timeout: config.open_timeout, read_timeout: config.read_timeout ) end |
.configure {|config| ... } ⇒ Object
Configure Myrr.
27 28 29 30 31 |
# File 'lib/myrr.rb', line 27 def configure @config ||= Configuration.new yield(@config) if block_given? @config end |
.reset_config! ⇒ Object
Reset configuration to defaults.
34 35 36 |
# File 'lib/myrr.rb', line 34 def reset_config! @config = Configuration.new end |
.verify_agent(did_key) ⇒ Hash?
Verify an agent identity. Returns agent info or nil. (Identity-layer feature — opt-in, requires explicit require.)
Performs challenge-response verification via the configured protocol
server (or identity_adapter). If fail_open is true, returns nil
on network errors instead of raising.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/myrr.rb', line 61 def verify_agent(did_key) if config.identity_adapter config.identity_adapter.call(did_key) else client.verify(did_key) end rescue => e if config.fail_open warn "[myrr] Identity verification failed (fail_open=true): #{e.}" nil else raise end end |