Return a provider listing only the tools carrying any of options.tags.
A host calls this before converting, so it needs no consumer's meta key:
selectTools(merged, { tags: ["recommended"] }). Order is kept, and the
result reads the underlying provider on every allTools() call. A
deprecated alias whose meta["alias_of"] target is not selected is dropped,
and so is an alias of a dropped alias, until every kept alias names a kept
tool, so the result passes validateProvider. A target is never pulled in. A bare string throws
OCToolError, since it would match by character.
Return a provider listing only the tools carrying any of
options.tags.A host calls this before converting, so it needs no consumer's
metakey:selectTools(merged, { tags: ["recommended"] }). Order is kept, and the result reads the underlying provider on everyallTools()call. A deprecated alias whosemeta["alias_of"]target is not selected is dropped, and so is an alias of a dropped alias, until every kept alias names a kept tool, so the result passesvalidateProvider. A target is never pulled in. A bare string throws OCToolError, since it would match by character.