aidputils.agents.tools.experimental.websearch.base

aidputils.agents.tools.experimental.websearch.base.normalize_generic_results(data: Any, source: str) list[NormalizedWebResult][source]

Fallback normalization when we don’t have an engine-specific parser.

Accepts:
  • {“results”: [ {title|name, url|link, snippet|description|content, …}, … ]}

  • [ { … }, … ]

Returns a normalized list of NormalizedWebResult.

class aidputils.agents.tools.experimental.websearch.base.BaseWebSearchHandler(engine: str)[source]

Bases: ABC

Base class for engine-specific web search handling.

Responsibilities:
  • Provide endpoint resolution (get_endpoint)

  • Parse engine-native responses into NormalizedWebResult list via parse

Subclasses may override parse() to handle engine-native response shapes. If they do not, the base implementation normalizes common/generic result shapes.

get_endpoint(conf: dict) str[source]
parse(data: Any) list[NormalizedWebResult][source]