soev-agentsReference
soev_agents.plugins
Versioned registration contracts for servers and installed agent plugins.
Classes
AgentInfo
dataclassAgentInfo(kind, title, description, input_version)paramkindLiteral['chat', 'surface']paramtitlestrparamdescriptionstrparaminput_versionstrToolInfo
dataclassToolInfo(name, status, family=None, defaults=dict())paramnamestrparamstatusMapping[str, JsonValue]paramfamilystr | None= NoneparamdefaultsMapping[str, str]= dict()HostedAgent
dataclassHostedAgent[H, R, T: BaseModel](name, agent, bind, info, requires, tools=(), thread_status=dict())paramnamestrparamagentAgent[R, T]parambindCallable[[H], R]paraminfoAgentInfoparamrequiresfrozenset[str]paramtoolsSequence[ToolInfo]= ()paramthread_statusMapping[str, Callable[[Event], str | None]]= dict()AgentPlugin
dataclassAgentPlugin[B, H](resources_api, factory, *, api_version=1)paramresources_apistrparamfactoryCallable[[B], Sequence[HostedAgent[H, Any, Any]]]paramapi_versionint= 1LoadedPlugin
dataclassLoadedPlugin(name, distribution, value, plugin)paramnamestrparamdistributionstrparamvaluestrparampluginAgentPlugin[Any, Any]attributeoriginstrFunctions
parse_allowlist
functionparse_allowlist(value) -> list[str]Parse a server's comma-separated selection without reading its environment.
paramvaluestrdiscover
functiondiscover(group='soev.agents', *, allow, accept_resources_api) -> list[LoadedPlugin]Load only selected entry points in allowlist order; never invoke factories.
paramgroupstr= 'soev.agents'paramallowSequence[str]paramaccept_resources_apiCollection[str]create_agents
functioncreate_agents(plugins, resources, *, accept_requires) -> list[HostedAgent[Any, Any, Any]]Invoke each discovered factory once and reject ambiguous catalog registrations.
Resource APIs and capability identifiers are opaque: acceptance belongs to the server. Binders and status readers are validated but never called here.
parampluginsSequence[LoadedPlugin]paramresourcesAnyparamaccept_requiresCollection[str]Errors
PluginError
errorPluginErrorA plugin cannot be registered; servers must fail construction.
PluginSelectionError
errorPluginSelectionErrorPluginLoadError
errorPluginLoadErrorPluginVersionError
errorPluginVersionErrorPluginValidationError
errorPluginValidationErrorPluginCollisionError
errorPluginCollisionError