AgentSessionManager.Routing.CapabilityMatcher (AgentSessionManager v0.8.0)

Copy Markdown View Source

Matches provider capabilities against routing requirements.

Requirements support either:

  • %{type: :tool, name: "bash"} (type + name)
  • %{type: :tool, name: nil} (type-only)
  • :tool (type-only shorthand)

Summary

Types

requirement()

@type requirement() ::
  %{
    :type => AgentSessionManager.Core.Capability.capability_type(),
    optional(:name) => String.t() | nil
  }
  | AgentSessionManager.Core.Capability.capability_type()

Functions

matches_all?(capabilities, requirements)

@spec matches_all?([AgentSessionManager.Core.Capability.t()], [requirement()]) ::
  boolean()

matches_requirement?(capabilities, requirement)

@spec matches_requirement?([AgentSessionManager.Core.Capability.t()], requirement()) ::
  boolean()