Module: Insika::Server::A2A::Remotes

Defined in:
lib/insika/server/a2a/remotes.rb

Overview

Remote A2A agents config. Parses "id=url,id2=url2".

Defined Under Namespace

Classes: Remote

Class Method Summary collapse

Class Method Details

.parse(env_string, descriptions: {}) ⇒ Object

-> [Remote]. Malformed entries (no '=', empty id/url) are ignored with a warn. env nil/"" -> [].



12
13
14
15
16
17
18
19
20
21
# File 'lib/insika/server/a2a/remotes.rb', line 12

def self.parse(env_string, descriptions: {})
  env_string.to_s.split(",").filter_map do |entry|
    id, url = entry.split("=", 2).map { |s| s.to_s.strip }
    if id.to_s.empty? || url.to_s.empty?
      warn "[a2a] malformed remote ignored: #{entry.inspect} (use id=url)"
      next
    end
    Remote.new(id: id, url: url, description: descriptions[id])
  end
end